私は誰かのニュースシステムのバグを修正しようとしています。それは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);