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

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

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


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

Вопрос:
Почему регулярка затронула русский символ "е" нижнего регистра?
Неправильно написано регулярное выражение?
  • Вопрос задан
  • 12926 просмотров
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽