我正在尝试创建一个同时可用于PHP和Javascript的bbcode过滤解决方案.现在,我正在使用javascript.我无法让新的RegExp构造函数识别json中的模式.这是重现此问题的一小部分示例代码.任何见解将不胜感激!
bbcode.json
{"bbcode_regex": [
{"regex": "<p>","bbcode": ""},{"regex": "<\/p>",}
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.谢谢!
最佳答案
线
return bbcode;
将返回undefined,它将在ajax请求完成后初始化.使用回调:
function html2bbcode(html,callback) {
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,json.bbcode_regex[i].bbcode);
}
callback(bbcode);
},'json');
return false;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。