Многим знакома проблема поддержки кириллицы в регулярных выражениях. В этой статье будет рассмотрено решение этой проблемы для кодировки UTF-8 в PHP.
Коротко о главном
Для того, чтобы всё заработало, нужно, чтобы кодировка файла с исходниками была UTF-8. Тогда для поиска всех русских букв (прописных и строчных) нужно применять символьный класс [А-пр-яЁё].
Пример
Скрипт, который ищет русские слова будет выглядеть так:
<?php // текст $text = "Шла Маша по шоссе и сосала сушку."; // поиск русских слов preg_match_all("/[А-пр-яЁё]+/", $text, $matches); // вывод результата поиска var_dump($matches); ?>
Вывод скрипта:
array(1) { [0]=> array(7) { [0]=> string(6) "Шла" [1]=> string(8) "Маша" [2]=> string(4) "по" [3]=> string(10) "шоссе" [4]=> string(2) "и" [5]=> string(12) "сосала" [6]=> string(10) "сушку" }