ExBB Community » Файловый ExBB » Решение проблем » Вопрос по регулярному выражению

Страниц (1): [1]
 

1. halloworld - 26 июня 2010 — 23:53 - перейти к сообщению
доброе утро Подмигивание

Из register.php:
CODE:
if (preg_match("#(guest|admin|moder|админ|гость|модер|[^0-9A-Za-zА-Яа-я-_\.\s])#is", "abc")) { die(';('); }

Выдает - Compilation failed: range out of order in character class at offset

интересует разгадка
2. Александр Михалицын - 27 июня 2010 — 03:25 - перейти к сообщению
halloworld,
так. Какая версия PHP и библиотеки PCRE у вас на сервере?

UPD: и да. В какой кодировке файл register.php сохранен?
3. halloworld - 27 июня 2010 — 09:57 - перейти к сообщению
кодировка utf-8
PHP Version 5.2.13
PCRE (Perl Compatible Regular Expressions) Support enabled
PCRE Library Version 7.9 2009-04-11
4. Александр Михалицын - 27 июня 2010 — 10:47 - перейти к сообщению
Попробуйте сохранить файл в cp1251.

С версией библиотеки PCRE и PHP на вашем сервере все впорядке.
5. halloworld - 27 июня 2010 — 11:21 - перейти к сообщению
Спасибо, проблема более не актуальна.

Для работы preg_match в скрипте с кодировкой utf нужно использовать дополнительный модификатор "u"

CODE:
if (preg_match("#(guest|admin|moder|админ|гость|модер|[^0-9A-Za-zА-Яа-я-_\.\s])#is[color=red]u[/color]", "moder")) { die(';('); }


Подмигивание
6. Александр Михалицын - 28 июня 2010 — 08:06 - перейти к сообщению
Так, а собственно зачем с ней работать в Utf-8? Форум изначально написан на cp1251. Могут возникнуть разные "побочные эффекты".
(Добавление)
"Тупо" переведя форум на utf-8 вы не получите её преимуществ, потому что вся обработка текста идет в cp1251.
7. halloworld - 28 июня 2010 — 13:59 - перейти к сообщению
Возникла проблема при интеграции форума с уже готовым проектом на utf-8.
Естественно просто так менять кодировку было бы нецелесообразно.

Вы имеете ввиду вся работа с текстом это функции в postings.php и $fm->Read\Write в fm.class.php ?
8. Александр Михалицын - 28 июня 2010 — 14:11 - перейти к сообщению
Нет. Я о, например, парсере BBCodeов. Например китайский язык он уже не воспримет. Хотя и кодировку вы поставили utf-8. Радость

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0412]     [ ]