【发布时间】:2012-02-13 04:21:34
【问题描述】:
我在下面收到一条 PHP 警告消息
警告:preg_replace() [function.preg-replace]:编译失败: 在偏移量 71 处不支持 POSIX 整理元素 **/bbcode.php 第 244 行
这里是 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 版本 5.2.17 和 Apache 2.0
感谢高级。
【问题讨论】:
-
请首先确保您没有在这里重新发明轮子:php.net/bbcode
-
你真的想维护这个怪物正则表达式吗?
标签: php regex apache preg-replace