php регулярки с латиницей

J
На сайте с 08.06.2006
Offline
844
673

Написал регулярку для проверки ФИО

preg_match(/([А-Яа-я]+) [А-Яа-я]+) [А-Яа-я]+)/)

она не работает с русскими буквами.

локали устанавливал (не уверен что правильно)

Помогите решить проблему.

Спасибо!

S
На сайте с 02.05.2014
Offline
61
#1
joost:
php регулярки с латиницей
preg_match(/([А-Яа-я]+) [А-Яа-я]+) [А-Яа-я]+)/)
она не работает с русскими буквами.

Если ищете кириллицу и кодировка utf-8, модификатор u не забудьте.

preg_match(/([А-Яа-я]+) [А-Яа-я]+) [А-Яа-я]+)/u)
J
На сайте с 08.06.2006
Offline
844
#2
Sujcnm:
Если ищете кириллицу и кодировка utf-8, модификатор u не забудьте.

у меня /isU

большое U

нужно маленькое?

как и какую локаль правильно указывать?

S
На сайте с 02.05.2014
Offline
61
#3
joost:
большое U

Большое U - отключает "жадность", маленькое - utf-8.

В итоге /uisU или чего там у вас.

PS На будущие, если нужна помощь с регулярками прикладывайте строки с текстом (пример строки), что бы можно было попробовать.

J
На сайте с 08.06.2006
Offline
844
#4

Sujcnm, локаль устанавливать нужно?

если да, то какую и как правильно?

---------- Добавлено 20.08.2015 в 11:30 ----------

u маленькое помогло

спасибо Sujcnm!

K
На сайте с 03.06.2015
Offline
45
#5

Локаль в ини файле задается, обычно на хостинге в СР есть органы управления. В скрипте для мультибайтовых функций можете написать в глобальной инклюде:

mb_internal_encoding(PAGE_ENCODING); где PAGE_ENCODING соотв UTF-8 например.

Ну и файлы должны быть в юникоде, иначе все кириллические скаляры слетят.

MYSQL PHP JS HTML CSS SEO TXT США СССР
siv1987
На сайте с 02.04.2009
Offline
427
#6
joost:
локали устанавливал (не уверен что правильно)

setlocale(LC_ALL, 'ru_RU.UTF-8');

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий