Я использую такой шаблон для поиска кириллических символов в моем тексте, но он возвращает true в символах валюты Юникода "₴" (украинский гривня) и "€" (евро)
$pat = '/.*[А-Яа-яёЁ].*/';
$res = preg_match($pat, $str);
В чем проблема?
Вы должны сделать свой код unicode-aware с /u
модификатором:
$pat = '/.*[А-Яа-яёЁ].*/u';
$res = preg_match($pat, $str);
Цитирование документа:
u (PCRE_UTF8)
Этот модификатор включает дополнительные функции PCRE, которые несовместимы с Perl. Строка и предметные строки рассматриваются как UTF-8.
Демо. Кстати, если вы только проверяете, присутствуют ли в строке кириллические буквы, не делая ничего в матче (и с данным кодом вы делаете), вы можете отказаться .*
Части из вашего шаблона.