1

我是新来的,我知道标题中的错误已经在这里讨论过,但我没有找到任何问题的答案。我正在尝试使用 quercus for php 使 phpbb3 在我的服务器上与 tomcat6 一起工作。一切都很好,除了 bbcode.php 模块在第 112 行给我一个错误(在标题中),即:

$message = preg_replace($preg['search'], $preg['replace'], $message);

我在 phpbb3 论坛上寻求帮助,但他们告诉我问题出在 quercus 上。

仍然从未在 quercus 邮件列表中找到答案。

我想知道如何用另一条做同样工作的线来改变这条线。

提前致谢。

编辑:

也许我发现了问题的根源:

'preg' => array(
                        '#\[quote(?:="(.*?)")?:$uid\]((?!\[quote(?:=".*?")?:$uid\]).)?#ise' => "\$this->bbcode_second_pass_quote('\$1', '\$2')"

关键是这段代码在大多数情况下都能完美运行,也许是 Quercus 需要不同的 sintax。

您可以在这里找到完整的 bbcode.php:http://ftp.phpbb-fr.com/public/cdd/phpbb3/3.0.10/nav.html?includes/ bbcode.php.source.html

4

1 回答 1

0

正则表达式必须是分隔的。通常,分隔符是斜线。PHP 还允许使用字母数字分隔符。

$preg["search"]没有分隔,可能只是regex. 它需要是:/regex/, #regex#, 或|regex|, 等等。

以下代码引发错误:

echo preg_replace(array('1', '2'), array('one', 'two'), '1 2');

应该:

echo preg_replace(array('/1/', '/2/'), array('one', 'two'), '1 2');

欢迎来到 StackOverflow。

于 2013-08-21T14:46:24.850 回答