最佳答案
我正在编写一个 Chrome 扩展,它包含了以下工作的 很多: 通过将 <
、 >
和 &
分别转换为 <
、 >
和 &
,对包含 HTML 标签的 也许吧字符串进行消毒。
(In other words, the same as PHP's htmlspecialchars(str, ENT_NOQUOTES)
– I don't think there's any real need to convert double-quote characters.)
这是我迄今为止发现的最快的函数:
function safe_tags(str) {
return str.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>') ;
}
但是,当我需要一次运行几千个字符串时,仍然存在很大的延迟。
有人能改进一下吗? 它主要针对10到150个字符之间的字符串,如果这样做有什么不同的话。
(我的一个想法是,不必费心去编码大于号——这样做真的会有危险吗?)