我正在尝试修复某人的新闻系统中的一个错误,它使用 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);