Piszę rozszerzenie Chrome, która polega robi wiele z następujących stanowisk: odkażające łańcuchów, które mogą zawierać znaczniki HTML, konwertując <
, >
i &
do <
, >
i &
, odpowiednio.
(Innymi słowy, to samo, co PHP htmlspecialchars(str, ENT_NOQUOTES)
- nie sądzę, aby istniała potrzeba konwertowania znaków podwójnego cudzysłowu).
To najszybsza funkcja, jaką do tej pory znalazłem:
function safe_tags(str) {
return str.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>') ;
}
Ale wciąż jest duże opóźnienie, kiedy muszę przepuścić kilka tysięcy strun za jednym razem.
Czy ktoś może to poprawić? Dotyczy to głównie łańcuchów zawierających od 10 do 150 znaków, jeśli to robi różnicę.
(Jeden pomysł, jaki miałem, to nie zawracać sobie głowy kodowaniem znaku większego niż - czy byłoby z tym jakieś realne niebezpieczeństwo?)