Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Использование русского диапазона регулярных выражений (http://forum.oszone.net/showthread.php?t=64188)

btx 10-04-2006 18:04 426661

Использование русского диапазона регулярных выражений
 
Есть входящие данные
PHP код:

$text 'RussiaРоссия'

содержащие русский и английский текст. Необходимо обработать шаблоном используя регулярные выражения, к примеру, функцией ereg(). Можно УПРАЩЕННО составить шаблон на диапазон английских и русских букв:
PHP код:

$result ereg('^[aA-zZаА-яЯ]$'$text); 

На сервере Windows все замечательно работает, но на *nix, увы, который не понимает русский язык отказывается принимать такую функцию и выдает сообщение об ошибке.
Как быть в такой ситуации, когда без проверки шаблона не обойтись и в любом случае используются русские символы.
---
Видел где то используют диапазон CHR кодов от русских символов, но реализовать самостоятельно не могу.

ivank 12-04-2006 21:40 427323

btx
Особенность диапазоно в том, что их можно применять только для латинских букв и цифр. Т.к. только эти символы гарантировано идут подряд в любой кодировке (по крайней мере реально применяемой). Все остальные символы могут быть разбросаны _как угодно_ (например, русский символы в КОИ), да и кодировок существует куча.

Поэтому есть два варианта. Неправильный: Забить все символы в квадратные скобки [абвгде...яАБ...Я]. Правильный: поставить русскую локаль и пользоваться \w.


Время: 05:00.

Время: 05:00.
© OSzone.net 2001-