1

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

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

[quote]Another message[/quote]
Message two

以上是我的textarea里面的内容。我想替换所有内容,除了引号标签内的内容。我想像这样替换它们,[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]。我尝试了一些排除正则表达式,但没有发现任何有用的东西。

4

1 回答 1

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

于 2014-03-30T18:00:40.627 回答