我正在尝试修复某人新闻系统中的错误,它使用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);
答案 0 :(得分:0)
尝试使用:
$message = preg_replace('_\[b\](.*?)\[/b\]_is', "bold('\\1')", $message);
和
$message = preg_replace('_\[b\](.*?)\[/b\]_is', "\\1", $message);