J'écris une extension Chrome qui implique une grande partie du travail suivant: nettoyer les chaînes qui peuvent contenir des balises HTML, en convertissant <
, >
et &
en <
, >
et &
, respectivement.
(En d'autres termes, la même chose que PHP htmlspecialchars(str, ENT_NOQUOTES)
- je ne pense pas qu'il soit vraiment nécessaire de convertir les caractères entre guillemets.)
C'est la fonction la plus rapide que j'ai trouvée jusqu'à présent:
function safe_tags(str) {
return str.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>') ;
}
Mais il y a encore un gros décalage lorsque je dois exécuter quelques milliers de cordes en une seule fois.
Quelqu'un peut-il améliorer cela? C'est surtout pour les chaînes de 10 à 150 caractères, si cela fait une différence.
(Une idée que j'avais était de ne pas prendre la peine d'encoder le signe supérieur à - y aurait-il un réel danger avec cela?)