Как написать поиск русских заглавных букв в строке (regexp, php)?

Кодировка файла: UTF-8
Код:
$string = "Test123 Тест";
echo preg_replace('![A-Z|А-Я]!','',$string);


Результат:
est123 ст

Вопрос:
Почему регулярка затронула русский символ "е" нижнего регистра?
Неправильно написано регулярное выражение?
  • Вопрос задан
  • 12880 просмотров
Решения вопроса 1
Stillborn
@Stillborn
web-developer, web-designer
echo preg_replace('![A-Z|А-Я]!u','-',$string);
www.php.net/manual/ru/reference.pcre.pattern.modif...
Модификатор 'u'
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Сам не спец регулярках, но попробуйте
preg_replace('/[^a-zа-я\d\s]/', '', $string)
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы