{% else-1 %}
Регулярные выражения - важнейшая составляющая большинства языков программирования. В PHP они так же очень нужны, особенно для написания парсеров. Однако, с ними есть одна серьёзная проблема - регулярные выражения в PHP плохо работают с русским языком. Давайте разберём эту проблему подробнее, а после я Вам покажу простое решение подружить регулярные выражения и русский язык.

P.S если в регулярных выражениях используются русские символы, то надо всегда ставить модификатор u, чтобы после не искать ошибку там, где её нет.

                        
<?php
echo preg_match("/и/i", "И"); // Возвращает false вместо true
echo preg_match("/[а-я]/", "И"); // Возвращает true вместо false
echo preg_match("/[а-я]/i", "И"); // Работает правильно
?>

Как видите, работают регулярные выражения с русскими символами весьма странно. Решить быстро эти проблемы позволяет модификатор u:

<?php
echo preg_match("/и/ui", "И"); // Работает правильно
echo preg_match("/[а-я]/u", "И"); // Работает правильно
echo preg_match("/[а-я]/ui", "И"); // Работает правильно
?>
0 30 0
Без комментариев...