Estou escrevendo uma extensão do Chrome que envolve muitas das seguintes tarefas: higienizar strings que podem conter tags HTML, convertendo <
, >
e &
em <
, >
e &
, respectivamente.
(Em outras palavras, o mesmo que o do PHP htmlspecialchars(str, ENT_NOQUOTES)
- não acho que haja qualquer necessidade real de converter caracteres de aspas duplas.)
Esta é a função mais rápida que encontrei até agora:
function safe_tags(str) {
return str.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>') ;
}
Mas ainda há um grande atraso quando eu tenho que passar alguns milhares de cordas por ele de uma vez.
Alguém pode melhorar isso? É principalmente para strings entre 10 e 150 caracteres, se isso fizer diferença.
(Uma ideia que tive foi não me incomodar em codificar o sinal de maior - haveria algum perigo real nisso?)