0

我正在寻找匹配这样的字符串:

[quote12445555=Me]Some \n Quote[/quote12445555]

并将其替换为:

<blockquote>Some \n Quote</blockquote>

我有如下的正则表达式:

!\[quote(\d+)=(\w+)\](.*|\r\n|\n)\[\/quote(\d+)\]!

取而代之:

<blockquote>$3</blockquote>

但这似乎不起作用

任何帮助或建议将不胜感激。

4

3 回答 3

0
$quotes = preg_replace('%\[(quote\d+)=([^\]]+)\]([^[]+)\[/\1\]%', '<blockquote>$3</blockquote>', $quotes);
于 2012-08-23T20:19:16.933 回答
0

这似乎在我的测试中起作用:

\[quote[0-9]+=[a-zA-Z0-9]+\]((.|\n)*)\[/quote[0-9]+\]

尝试改变:(.*|\r\n|\n)(.|\r\n|\n)*

是否需要转义正斜杠?\/

我的替换字符串是:<blockquote>$1</blockquote>

于 2012-08-23T20:25:44.560 回答
0

仅供参考,正确的正则表达式是:

'!\[quote(\d+)\=(\w+)\](.+?)\[\/quote(\d+)\]!is'
于 2012-08-23T21:31:33.570 回答