0

私は誰かのニュースシステムのバグを修正しようとしています。それはUBBを使用して、編集者にある種の柔軟性を可能にします。したがって、たとえば太字のテキストを許可するには、次の正規表現が使用されます。

$message = preg_replace('_\[b\](.*?)\[/b\]_ise', "bold('\\1')", $message);

これは正常に機能します。ただし、フロントページに表示するUBBコードを削除する機能もあります。これは次のとおりです。

$message = preg_replace('_\[b\](.*?)\[/b\]_ise', "\\1", $message);

そして、この正規表現はエラーを生成しますが、これは私には意味がありません。結局のところ、これはまったく同じ正規表現です。

Fatal error: preg_replace() [<a href='function.preg-replace'>function.preg-replace</a>]: Failed evaluating code: This is bold in /public_html/functions.inc.php on line 122

121 $message = preg_replace('_\[i\](.*?)\[/i\]_ise', "\\1", $message);
122 $message = preg_replace('_\[b\](.*?)\[/b\]_ise', "\\1", $message);
123 $message = preg_replace('_\[u\](.*?)\[/u\]_ise', "\\1", $message);
4

1 に答える 1

0

使用してみてください:

$message = preg_replace('_\[b\](.*?)\[/b\]_is', "bold('\\1')", $message);

$message = preg_replace('_\[b\](.*?)\[/b\]_is', "\\1", $message);
于 2012-07-13T12:26:32.273 に答える