Задать вопрос
Dasha_Opozdasha
@Dasha_Opozdasha

Почему preg_replace не работает, если в регулярном выражении указан модификатор?

Есть строка: 'qw123`!@#$^&*I)&)%*#^_)*)^* $^@%$&-_&%&*#^zxЛО ---Лcd - asd asd '
Нужно чтобы на выходе эта строка выглядела вот так: qw123-I-zxЛО-Лcd-asd-asd.
Есть код:
$output = trim(preg_replace('/([^\w]+|[\_])+/', '-',strtolower($temp)), '-');
выводит эту строку вот так: qw123-i-zx�-�-�-cd-asd-asd
Есть модификатор для регулярок u. Но если его использовать в функции preg_replace ничего не выводит вообще. Помогите пожалуйста.
  • Вопрос задан
  • 548 просмотров
Подписаться 1 Оценить Комментировать
Решение пользователя Дарья К ответам на вопрос (2)
Dasha_Opozdasha
@Dasha_Opozdasha Автор вопроса
в общем проблема была в функции strtolower. Она не понимает кириллицу. Если использовать mb_strtolower и указывать кодировку все работает.
Ответ написан
Комментировать