我希望匹配这样的字符串:
[quote12445555=Me]Some \n Quote[/quote12445555]
并将其替换为:
<blockquote>Some \n Quote</blockquote>
我的正则表达式如下:
!\[quote(\d+)=(\w+)\](.*|\r\n|\n)\[\/quote(\d+)\]!
替换为:
<blockquote>$3</blockquote>
但它似乎没有起作用
非常感谢任何帮助或建议。
答案 0 :(得分:0)
$quotes = preg_replace('%\[(quote\d+)=([^\]]+)\]([^[]+)\[/\1\]%', '<blockquote>$3</blockquote>', $quotes);
答案 1 :(得分:0)
这似乎适用于我的测试:
\[quote[0-9]+=[a-zA-Z0-9]+\]((.|\n)*)\[/quote[0-9]+\]
尝试将(.*|\r\n|\n)
更改为(.|\r\n|\n)*
正斜线是否需要转义? \/
我的替换字符串为:<blockquote>$1</blockquote>
答案 2 :(得分:0)
仅供参考,正确的正则表达式是:
'!\[quote(\d+)\=(\w+)\](.+?)\[\/quote(\d+)\]!is'