Функция preg_match и русские буквы

Многим знакома проблема поддержки кириллицы в регулярных выражениях. В этой статье будет рассмотрено решение этой проблемы для кодировки 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) "сушку"
  }

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *