Javascript新的RegExp(),从JSON中读取模式

前端之家收集整理的这篇文章主要介绍了Javascript新的RegExp(),从JSON中读取模式 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试创建一个同时可用于PHPJavascript的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;
}

猜你在找的jQuery相关文章