jQuery - 替换MyBB消息,但不替换它的某些部分

时间:2014-03-30 17:52:37

标签: javascript jquery regex mybb

我正在尝试替换一些文字。如果继续阅读,这将是有意义的。

[quote]Here is a message[/quote]
Message one

[quote]Another message[/quote]
Message two

以上是我的 textarea 中的内容。我想替换除了quote-tags内部的内容之外的所有内容。我希望将其替换为[b]Message one[/b],以便在原始邮件周围添加 [b] [/ b] 。最终结果应如下所示:

[quote]Here is a message[/quote]
[b]Message one[/b]

[quote]Another message[/quote]
[b]Message two[/b]

所以基本上排除[quote]并在原始消息周围应用[b]和[/ b]。我尝试了一些排除正则表达式,但我没有找到任何有用的东西。

1 个答案:

答案 0 :(得分:2)

试试这个:

var string = "Replace this[quote]Here is a message[/quote]\nReplace this\n\n[quote]Another message[/quote]\nReplace this as well";
string.replace(/(\[\/quote\]\s*|^)([^[]+?)(\s*\[quote|$)/g, "$1[b]$2[/b]$3");

///// And we get:
// [b]Replace this[/b][quote]Here is a message[/quote]
// [b]Replace this[/b]
//
// [quote]Another message[/quote]
// [b]Replace this as well[/b]

同时查看jsFiddle