Проверка русских символов в регулярных выражениях
Один из часто задаваемых вопросов - как в никс окружении проверить регуляркой наличие кирилицы в строке.
$russian_str = "Тест";
if (preg_match("/^[".chr(0x7F)."-".chr(0xff)."_-]+$/",$russian_str))
{
echo 'Это по-русски..';
} else {
echo 'Это нет...';
}
На unix системах можно попробовать сменить локаль на setlocale(LC_ALL, 'ru_RU.CP1251');
и использовать кириллицу в чистом виде [а-яА-Я],
либо применять UTF модификатор (если код набран в UTF и проверяемый текст тоже UTF).
preg_match('@utf регулярное выражение@u');
Смотрите также:
Регулярные выражения для чайников.
@author: mihail
@date: Понедельник, 19 Февраль 2007
Комментарии : 4
|
4] Гость - 01:11, 19 Январь, 2012
|
|
Перерыл кучу сайтов, ничего путьнего не нашел. А ваш способ preg_match("/^[".chr(0x7F)."-".chr(0xff)."_-]+$/",$russian_str) работает на 5+. Спасибо за решение. Сайт в избранное!
|
|
3] Гость - 11:25, 23 Январь, 2010
|
|
ммм... Если работает, то большое спасибо
|
|
2] Гость - 17:22, 21 Октябрь, 2009
|
|
под виндой тоже работает, спасибо
|
|
1] Гость - 22:52, 16 Октябрь, 2008
|
|
вамвам
|