PCRE has very good utf-8 support. Simply add the /u modifier to your pattern.
preg_match('/non-utf-8 matching pattern/', $string);
preg_match('/utf-8 matching pattern/u', $string);
Регулярные выражения (расширенные POSIX)
- Введение
- Установка и настройка
- Предопределенные константы
- Примеры
- Функции регулярных выражений POSIX
- ereg_replace — Осуществляет замену по регулярному выражению
- ereg — Совпадение с регулярным выражением
- eregi_replace — Осуществляет замену по регулярному выражению без учета регистра
- eregi — Совпадение с регулярным выражением без учёта регистра
- split — Разбиение строки на массив по регулярному выражению
- spliti — Разбивает строку в массив с помощью регулярного выражения без учета регистра
- sql_regcase — Создает регулярное выражение для регистронезависимого сравнения
Daniel Klein
22-Mar-2012 01:01
arekm
04-Dec-2011 11:23
If you switch to PCRE world functions note that pcre doesn't support UTF-8 well.
There are limitations - read "POSIX CHARACTER CLASSES" or "UNICODE CHARACTER PROPERTY SUPPORT" chapter at http://www.pcre.org/pcre.txt.
Ray dot Paseur at Gmail dot com
28-Oct-2011 02:04
The POSIX functions are deprecated. Instead of the "ereg" collection you want to use something from the PCRE world.
http://www.php.net/manual/en/book.pcre.php
