$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 - игнорирует регистр. Чтобы не писать и маленькие и большие буквы, как у тебя. |
Огромное спасибо за помощь
_____________
Мой Twitter
Подписывайтесь :)