Estoy tratando de usar una cadena que contiene comillas dobles en el atributo de título de un ancla. Hasta ahora probé estos:
<a href=".." title="Some \"text\"">Some text</a>
<!-- The title looks like `Some \` --!>
y
<a href=".." title="Some "text"">Some text</a>
<!-- The title looks like `Some ` --!>
Tenga en cuenta que el uso de comillas simples no es una opción.
Respuestas:
Esta variante
Es correcto y funciona como se esperaba: ve comillas normales en la página representada.
fuente
<a href="#" title="Foo "Bar"">Testing</a>
y<a href="#" title="Smart quotes ”Bar“">Testing too</a>
trabaja para midata-editable-note="<?php echo str_replace('"', '"', $note); ?>"><?php echo mark::up($note); ?></div>
Aquí hay un fragmento de los caracteres de escape HTML tomados de una página en caché en archive.org :
fuente
El código de escape
"
también se puede usar en lugar de"
.fuente
Usar
"
es la forma de hacerlo. Probé su segundo fragmento de código, y funciona tanto en Firefox como en Internet Explorer.fuente
Puede funcionar con cualquier carácter de la lista de caracteres de HTML Escape , pero tuve el mismo problema con un proyecto Java. Solía
StringEscapeUtils.escapeHTML("Testing \" <br> <p>")
y el título era<a href=".." title="Test" <br> <p>">Testing</a>
.Solo funcionó para mí cuando cambié StringEscapeUtils
StringEscapeUtils.escapeJavascript("Testing \" <br> <p>")
y funcionó en todos los navegadores.fuente
Hay al menos una situación en la que el uso de comillas simples no funcionará y es si está creando el marcado "sobre la marcha" desde JavaScript. Utiliza comillas simples para contener la cadena y luego cualquier propiedad en el marcado puede tener comillas dobles para su valor.
fuente
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á familiarizado:
No separa estrictamente las funciones de HTML, JavaScript y CSS de la forma en que la gente quiere que lo hagas hoy en día, pero ¿a quién necesitas hacer feliz? ¿Tus usuarios o técnicos que no conoces?
fuente
Puede usar este código PHP para enumerar caracteres especiales ...
fuente