Tengo el siguiente script, que codifica parte del valor que recibe adecuadamente, pero no parece codificar comillas dobles.Codificar HTML antes del POST
¿Cómo codifico correctamente el valor completo antes de publicar?
function htmlEncode(value){
return $('<div/>').text(value).html();
}
El script anterior dame esto:
<p>Test&nbsp; <span style="color: #ffffff"><strong><span style="background-color: #ff0000">1+1+1=3</span></strong></span></p>
necesito que me da esto:
<p>Test&nbsp; <span style="color: #ffffff"><strong><span style="background-color: #ff0000">1+1+1=3</span></strong></span></p>
EDIT: pregunta de seguimiento: Encoded HTML in database back to page
Parece que está intentando hacer que el cliente haga HTML seguro antes de enviarlo al servidor. No hagas eso. Haga que el contenido HTML sea seguro al salir del sistema, no en el camino de entrada (y especialmente no en el cliente, donde puede ser alterado) – Quentin
¿Por qué necesita hacerlo JS en el cliente? – troutinator
¿Por qué quieres que te dé '"' de todos modos? A menos que esté planeando insertar los datos en un valor de atributo (que mezcle usando cadenas en lugar de usar un DOM u otra API sensible), entonces solo está usando 6 bytes cuando 1 hará y será más difícil de leer. – Quentin