[Решено] Вопрос по ЧПУ. Помогите составить регулярное выражение

Хочу иметь ссылки вида site.ru/2010/05/30/новый-пост

Составляю вот такое правило:


'<year:\d{4}>/<mon:\d+>/<day:\d>/<slug:[-a-zа-я0-9]+>'=>'post/view'

И получаю вот такую ошибку: Unable to resolve the request "2010/05/30/новый-пост". При этом, если краткое название поста состоит из латинских букв - всё проходит нормально и без ошибок. Каким же образом правильно составить регулярное выражение?

тут скорее всего проблема с кодировкой, стандартные функции php не совсем правильно работают со строками в UTF-8.

можешь проверить strlen(новый-пост); - выдает не правильный результат, а strlen(new-post); - правильный.

Подробнее, как с этим бороться http://http://www.yiiframework.com/doc/cookbook/16/revision/8/, там пункт "5. PHP string functions".

Спасибо за помощь. Не хотел пользоваться mbstring, но теперь, похоже, придётся попробовать.

А пока, в качестве временного решения, транслитерирую краткое имя поста.

Пардоньте, нашёл свою ошибку:

Не указал квантификатор у параметра day. Поэтому корректно обрабатывались только посты, день создания которых состоит из одной цифры :)

хм, ошибку с датой сразу заметил, но не думал что она связана с вашей проблемой )

знал бы, сразу указал