我正在写一个Chrome扩展程序,包括做了很多以后的工作中:消毒的字符串可能包含HTML标签,通过转换<
,>
并&
以<
,>
和&
分别。
(换句话说,与 PHP 相同htmlspecialchars(str, ENT_NOQUOTES)
——我认为没有任何真正需要转换双引号字符。)
这是迄今为止我发现的最快的函数:
function safe_tags(str) {
return str.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>') ;
}
但是当我必须一次运行几千个字符串时,仍然有很大的滞后。
任何人都可以改进吗?它主要用于 10 到 150 个字符之间的字符串,如果这有区别的话。
(我的一个想法是不要对大于号进行编码——这样做会有什么真正的危险吗?)