Blah blah Blah
enter code here
enter code here
fghfgh
我想使用JavaScript与该HTML编码的回调函数来代替标签之间的所有出现它。
这是我目前:
function code_parsing(data){
//Dont escape & because we need that... in case we deliberately write them in
var escape_html = function(data, p1, p2, p3, p4) {
return p1.replace(//g, ">").replace(/"/g, """).replace(/'/g, "'");
};
data = data.replace(/]*>([\s\S]*?)/gm, escape_html);
// \[start\](.*?)\[end\]
return data;
};
这个功能是很不幸去除""标签和只用内容替换它们。我想保留
标签的任何数量的属性。如果我只是将
标签硬编码回去,我将失去这些属性。
我知道正则表达式不是最好的工具,但是不会有任何嵌套元素。
+1
“...,但不会有任何嵌套的元素。什么是嵌套注释,属性值中的尖括号,标记名称的非标准大小写等。HTML语法很大且不规则。 –
+0
没错,未来需要更好的方法。任何关于真正的HTML解析器的建议? –
+0
在JS中,如果你不介意一个无耻的插件:http://code.google.com/p/google-caja/wiki/JsHtmlSanitizer –