将HTML标记转义为HTML实体的最快方法?我正在编写一个Chrome扩展,其中包括罗得执行以下任务:对以下字符串进行清理强权通过转换包含HTML标记<, >和&到<, >和&分别。(换句话说,与PHP的htmlspecialchars(str, ENT_NOQUOTES)-我不认为真的需要转换双引号字符。)这是我迄今发现的最快的功能:function safe_tags(str) {
return str.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>') ;}但是,当我一次运行几千个字符串时,仍然有一个很大的滞后。有人能在这方面有所改进吗?它主要用于10到150个字符之间的字符串,如果这有区别的话。(我的一个想法是,不要费心去编码比符号更大的东西-这样做会有什么真正的危险吗?)
3 回答
POPMUISE
TA贡献1765条经验 获得超5个赞
String.prototype.escape = function() { var tagsToReplace = { '&': '&', '<': '<', '>': '>' }; return this.replace(/[&<>]/g, function(tag) { return tagsToReplace[tag] || tag; });};var a = "<abc>";var b = a.escape(); // "<abc>"
添加回答
举报
0/150
提交
取消