【问题标题】:PHP warning about POSIX collating element关于 POSIX 整理元素的 PHP 警告
【发布时间】: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 regex apache preg-replace


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-31
    • 2019-08-07
    • 2013-02-22
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    相关资源
    最近更新 更多