Как избежать двойных кавычек в атрибуте title
Я пытаюсь использовать строку, содержащую двойные кавычки в атрибуте title якоря. До сих пор я пробовал эти:
<a href=".." title="Some "text"">Some text</a>
<!-- title looks like `Some ` --!>
и
<a href=".." title="Some "text"">Some text</a>
<!-- title looks like `Some ` --!>
обратите внимание, что использование одинарных кавычек не опции.
8 ответов:
этот вариант -
<a href=".." title="Some "text"">Some text</a>правильно, и это работает, как ожидалось - вы видите нормальные котировки в визуализированной странице.
изменить: ссылка кажется мертвой, поэтому вот фрагмент escape-символов, взятых из кэшированной страницы на archive.org:
< | less than sign < @ | at sign @ ] | right bracket ] { | left curly brace { } | right curly brace } … | ellipsis … ‡ | double dagger ‡ ’ | right single quote ’ ” | right double quote ” – | short dash – ™ | trademark ™ ¢ | cent sign ¢ ¥ | yen sign ¥ © | copyright sign © ¬ | logical not sign ¬ ° | degree sign ° ² | superscript 2 ² ¹ | superscript 1 ¹ ¼ | fraction 1/4 ¼ ¾ | fraction 3/4 ¾ ÷ | division sign ÷ ” | right double quote ” > | greater than sign > [ | left bracket [ ` | back apostrophe ` | | vertical bar | ~ | tilde ~ † | dagger † ‘ | left single quote ‘ “ | left double quote “ • | bullet • — | longer dash — ¡ | inverted excallamation point ¡ £ | pound sign £ ¦ | broken vertical bar ¦ « | double left than sign « ® | registered trademark sign ® ± | plus or minus sign ± ³ | superscript 3 ³ » | double greather than sign » ½ | fraction 1/2 ½ ¿ | inverted question mark ¿ “ | left double quote “ — | dash —/ EDIT
попробую
это отличная ссылка для всех этих символов.
С помощью
"Это способ сделать это, я попробовал вам второй фрагмент кода, и он работает как на Firefox, так и на IE.
Он может работать с любым персонажем из HTML Escape character list, но у меня была такая же проблема с проектом Java. Я использовал
StringEscapeUtils.escapeHTML("Testing \" <br> <p>")и название<a href=".." title="Test" <br> <p>">Testing</a>.он работал только для меня, когда я изменил StringEscapeUtils на
StringEscapeUtils.escapeJavascript("Testing \" <br> <p>")и он работал в любом браузере.
существует по крайней мере одна ситуация, когда использование одинарных кавычек не будет работать, и это если вы создаете разметку "на лету" из Javascript. Вы используете одинарные кавычки, чтобы содержать строку, а затем любое свойство в разметке может иметь двойные кавычки для его значения.
возможно, вы можете использовать JavaScript для решения проблемы кросс-браузера. Он использует другой механизм эвакуации, с которым вы, очевидно, уже знакомы:
(reference-to-the-tag).title = "Some \"text\"";он не строго разделяет функции HTML, JS и CSS так, как люди хотят, чтобы вы сейчас, но кого вам нужно сделать счастливым? Ваши пользователи или технари вы не знаете?
вы можете использовать этот PHP-код для списка специальных символов...
<table border="1"><?php for($i=33;$i<9000;$i++)echo "<tr><td>&#$i;<td>&#".$i.";"; ?></table>
Comments