2012-02-13 4 views
0

Я получил сообщение предупреждения PHP нижеPHP предупреждение о POSIX упорядочивающего элемента

Предупреждения: preg_replace() [function.preg замены]: Компиляция не удалась: POSIX листоподборочных элементы не поддерживаются при смещении 71 в * */bbcode.php на линии 244

здесь находится в строке 244 bbcode.php

$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

Благодаря передовой.

+0

Возможный дубликат [Ошибка компиляции: элементы сопоставления POSIX не поддерживаются] (http://stackoverflow.com/questions/7173787/compilation-failed-posix-collating-elements-are-not-supported) – Fosco

+0

Пожалуйста, сначала сделайте что вы не изобретаете колесо здесь: http://php.net/bbcode – deceze

+0

Вы действительно хотите поддерживать это регулярное выражение монстра? – deceze

ответ

0

Видимо, это при условии, вы имели в виду эту последовательность:

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

... как упорядочивания элемент (ref) из-за [. и .]. Попробуйте использовать \., чтобы избежать точек вместо [.].

Смежные вопросы