Как избежать двойных кавычек в атрибуте 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>
правильно, и он работает так, как ожидалось - вы видите нормальные кавычки на отображаемой странице.
EDIT: ссылка кажется мертвой, поэтому вот фрагмент 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 список символов, но у меня была такая же проблема с проектом 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>