PHP UBB remover正则表达式产生错误

时间:2012-07-13 11:36:36

标签: php regex

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

1 个答案:

答案 0 :(得分:0)

尝试使用:

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

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