Почему данный код не выводит 1 ?
$message = "Андрей";
if(preg_match('/^[а-яА-ЯёЁa-zA-Z]+$/', $message)){
echo "1";
}
Если вам надо разбирать строку в UTF-8, необходимо использовать модификатор u
u (PCRE_UTF8) Этот модификатор включает дополнительную функциональность PCRE, которая не совместима с Perl: шаблон и целевая строка обрабатываются как UTF-8 строки. Недопустимая целевая строка приводит к тому, что функции preg_* ничего не находят, а неправильный шаблон приводит к ошибке уровня E_WARNING. Пятый и шестой октеты UTF-8 последовательности рассматриваются недопустимыми с PHP 5.3.4 (согласно PCRE 7.3 2007-08-28); ранее они считались допустимыми.
То есть в вашем случае:
preg_match('/^[а-яА-Яa-zA-ZёЁ]+$/u', $message)
У меня в таком варианте заработала:
$message = "Андрей";
if(preg_match('/^[а-яА-Яa-zA-ZёЁ]+$/u', $message)){
echo "1";
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники