Sto scrivendo un'estensione Chrome che coinvolge facendo un sacco di lavoro seguente: sanificazione stringhe che potrebbero contenere tag HTML, convertendo <
, >
e &
per <
, >
e &
, rispettivamente.
(In altre parole, lo stesso di PHP htmlspecialchars(str, ENT_NOQUOTES)
- non penso che ci sia alcuna reale necessità di convertire i caratteri di virgolette doppie.)
Questa è la funzione più veloce che ho trovato finora:
function safe_tags(str) {
return str.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>') ;
}
Ma c'è ancora un grande ritardo quando devo eseguire alcune migliaia di stringhe in una volta sola.
Qualcuno può migliorare su questo? È principalmente per stringhe tra 10 e 150 caratteri, se questo fa la differenza.
(Un'idea che avevo era di non preoccuparmi di codificare il segno di maggiore di - ci sarebbe stato un vero pericolo con quello?)