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(\d+)\=(\w+)\](.+?)\[\/quote(\d+)\]!is'
于 2012-08-23T21:31:33.570 に答える
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 に答える