Ответ 1
Этот вариант -
<a href=".." title="Some "text"">Some text</a>
Правильно и работает так, как ожидалось - вы видите обычные кавычки в отображаемой странице.
Я пытаюсь использовать строку, содержащую двойные кавычки в атрибуте 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 ` --!>
Обратите внимание, что использование одинарных кавычек не является вариантом.
Этот вариант -
<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, но у меня была такая же проблема с проектом 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>