Estoy escribiendo una extensión de Chrome que implica hacer una gran cantidad de trabajo el siguiente: desinfección cadenas que podrían contener etiquetas HTML, mediante la conversión <
, >
y &
a <
, >
y &
, respectivamente.
(En otras palabras, lo mismo que PHP, htmlspecialchars(str, ENT_NOQUOTES)
no creo que haya una necesidad real de convertir caracteres de comillas dobles).
Esta es la función más rápida que he encontrado hasta ahora:
function safe_tags(str) {
return str.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>') ;
}
Pero todavía hay un gran retraso cuando tengo que ejecutar algunos miles de cadenas de una vez.
¿Alguien puede mejorar esto? Es principalmente para cadenas de entre 10 y 150 caracteres, si eso marca la diferencia.
(Una idea que tuve fue no molestarme en codificar el signo mayor que, ¿habría algún peligro real con eso?)