[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярное выражение с русскими буквами
IamSmorodin
Получаю методом POST данные, точнее сказать "имя", которое может состоять из русских и латинских букв.

$first_name = trim($_POST['first_name']);
if(!preg_match("/^[a-zA-Zа-яА-Я0-9]+$/",$first_name))
{
$error_fn = 'Имя может содержать только латинские и русские буквы.';
}


Но этот код работает лишь на проверку английских букв, русские не трогает. Сайт в кодировке UTF-8, и мне кажется, что все этот из-за кодировки, так как в POST передаются всякие кракозябрины.

Как мне поступить уважаемые форумчане?



Спустя 38 минут, 24 секунды (23.08.2010 - 08:45) twin написал(а):
Модификатор поставить
if(!preg_match("/^[a-zа-яё0-9]+$/ui",$first_name))

Спустя 8 минут, 55 секунд (23.08.2010 - 08:54) IamSmorodin написал(а):
Цитата (twin @ 23.08.2010 - 08:45)
Модификатор поставить
if(!preg_match("/^[a-zа-яё0-9]+$/ui",$first_name))

Огромное спасибо. А что это за модификатор такой? Для чего он?

Спустя 16 минут, 33 секунды (23.08.2010 - 09:10) twin написал(а):
u - это как раз для UTF-8, чтобы корректно обрабатывались многобайтные символы. А i - игнорирует регистр. Чтобы не писать и маленькие и большие буквы, как у тебя.

Спустя 3 минуты, 51 секунда (23.08.2010 - 09:14) IamSmorodin написал(а):
Цитата (twin @ 23.08.2010 - 09:10)
u - это как раз для UTF-8, чтобы корректно обрабатывались многобайтные символы. А i - игнорирует регистр. Чтобы не писать и маленькие и большие буквы, как у тебя.

Огромное спасибо за помощь smile.gif


_____________
Мой Twitter
Подписывайтесь :)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.