5
4

2 回答 2

5

这不是一个有效的正则表达式。/用作修饰符:

/\[url\s?=\s?"?(.*?)"?\](.*?)\[\/url\]/

制作功能:

function processJs() {
    var oldtext = $("#oldtext").html();
    var newtext = oldtext.replace(/\[url\s?=\s?"?(.*?)"?\](.*?)\[\/url\]/g, '<a href="$1">$2</a>');
    $('#mydiv').html(newtext);
}

g最后将在文本上重复。这是一个小提琴:http: //jsfiddle.net/xe2F9/

于 2013-05-13T14:59:32.977 回答
4
var newtext = oldtext.replace(/\[url\s?=\s?"?(.*?)"?\](.*?)\[\/url\]/g, '<a href="$1">$2</a>');

您将“搜索”指定为 RegEx 对象 - 而不是字符串。

只需使用 /.../ 将自动透明地创建一个。

于 2013-05-13T14:59:40.907 回答