html - caracteres - Cómo escapar comillas dobles en el atributo de título
escapar caracteres especiales java (8)
EDIT: el enlace parece estar muerto, así que aquí hay un fragmento de los personajes de escape tomados de una página almacenada en caché en 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 —
/EDITAR
Dale una oportunidad
Lista de caracteres HTML Escape.
Es una gran referencia para todos estos personajes.
Estoy tratando de usar una cadena que contiene comillas dobles en el atributo de título de un anclaje. Hasta ahora probé esto:
<a href=".." title="Some /"text/"">Some text</a>
<!-- title looks like `Some /` --!>
y
<a href=".." title="Some "text"">Some text</a>
<!-- title looks like `Some ` --!>
Tenga en cuenta que el uso de comillas simples no es una opción.
Esta variante -
<a href=".." title="Some "text"">Some text</a>
Es correcto y funciona como se esperaba: ves comillas normales en la página renderizada.
Hace "
en lugar de "
¿trabajo?
Hay al menos una situación donde el uso de comillas simples no funcionará y eso es si está creando el marcado "sobre la marcha" desde Javascript. Utiliza comillas simples para contener la cadena y, a continuación, cualquier propiedad en el marcado puede tener comillas dobles para su valor.
Puede funcionar con cualquier personaje de la lista de caracteres de HTML Escape , pero tuve el mismo problema con un proyecto de Java. Utilicé StringEscapeUtils.escapeHTML("Testing /" <br> <p>")
y el título fue <a href=".." title="Test" <br> <p>">Testing</a>
<a href=".." title="Test" <br> <p>">Testing</a>
<a href=".." title="Test" <br> <p>">Testing</a>
.
Solo funcionó para mí cuando cambié StringEscapeUtils a StringEscapeUtils.escapeJavascript("Testing /" <br> <p>")
y funcionó en todos los navegadores.
Puede usar este código PHP para listar caracteres especiales ...
<table border="1"><?php for($i=33;$i<9000;$i++)echo "<tr><td>&#$i;<td>&#".$i.";"; ?></table>
Quizás pueda usar JavaScript para resolver su problema de navegador cruzado. Utiliza un mecanismo de escape diferente, uno con el que obviamente ya estás familiarizado:
(reference-to-the-tag).title = "Some /"text/"";
No separa estrictamente las funciones de HTML, JS y CSS de la forma en que la gente lo quiere hoy en día, pero ¿a quién necesita hacer feliz? ¿Tus usuarios o técnicos que no sabes?
Usando "
es la manera de hacerlo, probé el segundo fragmento de código y funciona tanto en Firefox como en IE.