¿Método más rápido para escapar de las etiquetas HTML como entidades HTML?
Estoy escribiendo una extensión de Chrome que implica hacer unamuch del siguiente trabajo: desinfectar cadenas quepodrí contienen etiquetas HTML, al convertir<
, >
y&
a<
, >
y&
, respectivamente.
(En otras palabras, lo mismo que PHP'shtmlspecialchars(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 pasar algunos miles de cadenas de una sola 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?)