【发布时间】:2010-12-02 00:53:44
【问题描述】:
我正在尝试创建一个适用于 PHP 和 Javascript 的 bbcode 过滤解决方案。现在我正在研究javascript。我无法让新的 RegExp 构造函数识别我的 json 中的模式。这是重现该问题的一小段示例代码。任何见解将不胜感激!
bbcode.json
{"bbcode_regex": [
{"regex": "<p>", "bbcode": ""},
{"regex": "<\/p>", "bbcode": ""},
}
global.js
function html2bbcode(html) {
var bbcode = html;
jQuery.get("bbcode.json", {}, function(json) {
for(var i in json.bbcode_regex) {
bbcode = bbcode.replace(new RegExp(json.bbcode_regex[i].regex, "g"), json.bbcode_regex[i].bbcode)
console.log(new RegExp("/<p>/"));
}
}, 'json');
return bbcode;
}
请注意,我使用的是 FireBug,console.log RegExp 仅用于试验/调试目的。似乎无论我输入什么作为新 RegExp 的第一个参数,它都只记录一个像 {} 这样的空对象。我现在不太担心 PHP,只是担心 javascript。谢谢!
【问题讨论】:
-
每天都有同样的问题。我希望人们在开始编写 AJAX 之前对其有所了解。
-
好吧,既然我们在这里,想澄清或链接到一个类似的问题,这将有助于我解决我的问题?
-
您需要在 JSON 代码中转义
"\",因为它们是简单的字符串。使用new Regex()构造函数时,"/"不需要转义,因此在这种简单的情况下,您不会遇到任何问题。
标签: javascript jquery regex json