Регулярные выражения: \w и кириллица
Регулярные выражения: \w и кириллица
Добрый вечер,
подскажите, пожалуйста, как подружить \w с кириллицей в Yii?
подскажите, пожалуйста, как подружить \w с кириллицей в Yii?
Re: Регулярные выражения: \w и кириллица
что это за вопрос такой ? Уточни что ты хочешь.
Я так думаю что упомянутая выше карляка \w - это :
\w Соответствует любому буквенному символу, цифровому и знаку подчеркивания. Эквивалентно [[:word:]]
источник http://ru.wikipedia.org/wiki/%D0%A0%D0% ... 0%B8%D1%8F
И что собственно не получается ?
Такое предположение что ты работаешь с кодировкой Windows-1251 (синоним CP1251). Попробуй UTF-8. А возможно просто банально ошибся в регулярке.
Я так думаю что упомянутая выше карляка \w - это :
\w Соответствует любому буквенному символу, цифровому и знаку подчеркивания. Эквивалентно [[:word:]]
источник http://ru.wikipedia.org/wiki/%D0%A0%D0% ... 0%B8%D1%8F
И что собственно не получается ?
Такое предположение что ты работаешь с кодировкой Windows-1251 (синоним CP1251). Попробуй UTF-8. А возможно просто банально ошибся в регулярке.
Re: Регулярные выражения: \w и кириллица
У меня в модели есть следующее правило , для латиницы и чисел работает, для кириллицы - нет...
Код: Выделить всё
array('username, comment', 'match', 'pattern' => '/^[\d\w\s]+$/', 'message' => '{attribute} может содержать только буквенно-числовые символы и знаки препинания.'),
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Регулярные выражения: \w и кириллица
Связано с тем, что \w в юникоде уже не то, что в ANSI. Сейчас найду тему. На этом же форуме обсуждали…
Нравится Yii? Давайте сделаем его лучше!.
Re: Регулярные выражения: \w и кириллица
а ещё во многих случаях проще установить нужную локаль, тогда и \w работать будет и это будет работать намного быстрее
Re: Регулярные выражения: \w и кириллица
Может вам в конец нужно поставить u.Mr. T писал(а):Добрый вечер,
подскажите, пожалуйста, как подружить \w с кириллицей в Yii?
Например: '/^[А-Яа-я ]{1,255}$/u'.
u означает что проверятся будут не коды симолов, а сами символы.
Re: Регулярные выражения: \w и кириллица
Sam Dark, спасибо за ссылку, но паттерн что-то не помог пока...
Есть еще один вопрос. Почему может не работать ссылка вида http://localhost/group/1/Администраторы/, в конфиге следующее правило, при попытке открыть указанную ссылку, отображается следующее сообщение
Код: Выделить всё
~^(\p{L}|\p{Zs})+$~u
Есть еще один вопрос. Почему может не работать ссылка вида http://localhost/group/1/Администраторы/, в конфиге следующее правило
Код: Выделить всё
'<_c:group>/<id:\d+>/<groupname:\w+>' => '<_c>/view',
. Заводить в базе данных поле, в котором хранить транслитерированное название, желания нет, как решить такую проблему?Системе не удалось найти запрашиваемое действие "1".
Re: Регулярные выражения: \w и кириллица
Почему паттерн может не работать? Ввожу имя на кириллице, но все равно не проходит...
Код: Выделить всё
~^(\p{L}|\p{Zs})+$~u
Re: Регулярные выражения: \w и кириллица
должен еще сказать, что \w не включает в себя символ ё. Её нужно дополнительно в правило вносить.
Re: Регулярные выражения: \w и кириллица
"ё" меня пока меньше всего волнует, у меня остальные символы кириллицы не проходят...
Re: Регулярные выражения: \w и кириллица
Вот рабочий вариант /^[A-Za-zА-Яа-я0-9ё\s,]+$/u
-
- Сообщения: 1
- Зарегистрирован: 2017.05.14, 08:25
Re: Регулярные выражения: \w и кириллица
Товарищи, помогите с регуляркой. Как вот это дело подружить еще и с кириллицей?
Код: Выделить всё
var initialLetters = elementText.match(settings.middlename ? /\b(\w)/g : /^\w|\b\w(?=\S+$)/g);
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Регулярные выражения: \w и кириллица
Можно попробовать так:
Код: Выделить всё
var initialLetters = elementText.match(settings.middlename ? /\b([\w\u0430-\u044f])/g : /^[\w\u0430-\u044f]|\b[\w\u0430-\u044f](?=\S+$)/g);
Нравится Yii? Давайте сделаем его лучше!.