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 回答