有关POSIX整理元素的PHP警告

时间:2012-02-13 04:21:35

标签: php regex apache preg-replace

我在

下面有一条PHP警告信息
  

警告:preg_replace()[function.preg-replace]:编译失败:   偏移71英寸不支持POSIX整理元素   第244行 * * / bbcode.php

这里是bbcode.php的第244行

$config['text'] = preg_replace('#(^|[ \t\r\n"“\'])(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'".,<>?«»“”‘’]))#ui', '$1[url]$2[/url]', $config['text']);

有什么建议可以避免这种警告吗? (不在服务器配置中编辑任何内容)

我用 PHP Version 5.2.17和Apache 2.0

感谢高级。

1 个答案:

答案 0 :(得分:0)

显然,假设你的意思是这个序列:

[.]|[a-z0-9.\-]+[.]

...由于[..]而作为整理元素(ref)。尝试使用\.来转义点而不是[.]