我正在编写一个Chrome扩展,它涉及执行lot项以下工作:通过将<
、>
和&
分别转换为<
、>
和&
,对包含HTML标签的might字符串进行清理.
(换句话说,与PHP的htmlspecialchars(str, ENT_NOQUOTES)
相同-我认为没有任何真正需要转换双引号字符.)
这是我到目前为止发现的最快的函数:
function safe_tags(str) {
return str.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>') ;
}
但是,当我必须一次通过几千个字符串时,仍然有很大的延迟.
有人能改进吗?如果有区别的话,它主要用于10到150个字符之间的字符串.
(我的一个 idea 是,不必费心对大于号进行编码-这会有什么真正的危险吗?)