Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Обход регулярного выражения

Сообщения:  [1-10]   [11-17] 

 
 автор: Atheist   (06.04.2008 в 01:37)   письмо автору
 
   для: -Lex-   (06.04.2008 в 00:39)
 

Я же привёл паттерн под PCRE-функции. Зачем тогда жаловаться, используя его под ereg(i)? Это разные механизмы обработки regexp'ов. Хотя и очень похожие.

   
 
 автор: -Lex-   (06.04.2008 в 00:39)   письмо автору
 
   для: Atheist   (05.04.2008 в 00:45)
 

Я ведь писал, использую eregi();

   
 
 автор: Atheist   (05.04.2008 в 00:45)   письмо автору
 
   для: -Lex-   (05.04.2008 в 00:37)
 

> Сейчас проверил, стали разрешены символы, которых нет в списке

Ты используешь PCRE-функции?

   
 
 автор: -Lex-   (05.04.2008 в 00:37)   письмо автору
 
   для: Atheist   (05.04.2008 в 00:02)
 

Вот, огромное спасибо, теперь указав А-Я заработало.

Вот когда выпустят PHP6 тогда может и обновлю, а пока так работает, пускай работает.

Сейчас проверил, стали разрешены символы, которых нет в списке...

   
 
 автор: Atheist   (05.04.2008 в 00:02)   письмо автору
 
   для: -Lex-   (04.04.2008 в 20:41)
 

> UTF-8 и в скрипте и от пользователей.
Тогда нужно добавить модификатор "u": /[^A-ZА-Я0-9_,-.!?(): #@;]/u

P.S. Использовать, конечно, нужно функции preg_* (PCRE), а не POSIX, как это делаешь ты. В PHP6 твой код работать не будет.

   
 
 автор: -Lex-   (04.04.2008 в 20:41)   письмо автору
 
   для: -Lex-   (04.04.2008 в 20:10)
 

Ну что, упростил выражение до:
[^A-Z0-9_,-.!?():йцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ #@;]

До

[^A-ZА-Я0-9_,-.!?(): #@;]

если упростить, не пропускает символы русского алфавита.
Скрипт на PHP, фильтрую с помощью функции eregi();

   
 
 автор: -Lex-   (04.04.2008 в 20:17)   письмо автору
 
   для: THERAPYbrother   (04.04.2008 в 19:33)
 

Насчет А-Я вместо перечисления, на localhost нормально работает, а вот когда на сервер зашружаю, уже не хочет.

   
 
 автор: -Lex-   (04.04.2008 в 20:10)   письмо автору
 
   для: Atheist   (04.04.2008 в 19:46)
 

UTF-8 и в скрипте и от пользователей.

   
 
 автор: Atheist   (04.04.2008 в 19:46)   письмо автору
 
   для: -Lex-   (04.04.2008 в 19:11)
 

> От А-Я не работает
А какая кодировка (букв в regexp и, соотвественно, текста, с которым работаешь)?

   
 
 автор: THERAPYbrother   (04.04.2008 в 19:33)   письмо автору
 
   для: -Lex-   (04.04.2008 в 19:11)
 

Вы точно этой регуляркой пользуетесь??

   

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования