Регулярка не работает

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
Chiliec
Сообщения: 42
Зарегистрирован: 2013.07.11, 15:01
Откуда: Пермь
Контактная информация:

Регулярка не работает

Сообщение Chiliec »

Привет всем! Начал изучать Yii, наткнулся на небольшой баг в демо-блоге. Регулярка проверяющая теги не поддерживает русский алфавит:

Код: Выделить всё

array('tags', 'match', 'pattern'=>'/^[\w\s,]+$/',
Хотя вроде бы \w должно соответствовать любому символу. Проверил и в демо-блоге, и на php 5.3, 5.4 и 5.5 :)
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Регулярка не работает

Сообщение rak »

нет, \w соответствует буквенному символу текущей локали
для любых буквенных символов необходимо использовать

Код: Выделить всё

'/^[\p{L}\s]+$/iu'
 
http://www.php.net/manual/en/regexp.ref ... nicode.php
Chiliec
Сообщения: 42
Зарегистрирован: 2013.07.11, 15:01
Откуда: Пермь
Контактная информация:

Re: Регулярка не работает

Сообщение Chiliec »

Спасибо :)
Добавление модификатора /u вроде решает проблему, это не верно?
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Регулярка не работает

Сообщение rak »

нет, просто \u не поможет по идее, хотя может уже что то и изменилось
но \p{L} должно точно работать
Ответить