Регулярные выражения в PHP. Функция preg_match и utf-8

Регулярные выражения в PHP. Функция preg_match и utf-8

От автора: приветствую вас, друзья. В предыдущей статье мы с вами говорили о специфике работы регулярных выражений в PHP с кириллицей. Однако использовали мы при этом кодировку windows-1251. В этой статье мы уже будем работать с кодировкой utf-8 и используем функцию preg_match для поиска кириллицы в тексте. Начнем?

Итак, в прошлой статье мы с вами использовали в качестве подопытного кролика следующую строку текста: «Иван Родил Девчонку, Велел Тащить Пелёнку». И вот такое регулярное выражение:

Этот шаблон вполне корректно работал с текстом в кодировке windows-1251, то есть с однобайтовой кодировкой. Сейчас эта кодировка используется все реже и реже. Практически стандартом стала кодировка utf-8. Давайте используем ее:

Бесплатный курс по PHP программированию

Освойте курс и создайте динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Посмотрим на результат:

Упс, что-то не то. Почему так? Дело в том, что регулярные выражения по умолчанию работают с однобайтовой кодировкой. Кодировка же utf-8 — многобайтная. Для того, чтобы все работало корректно, необходимо всего лишь использовать специальный модификатор — u, который переводит шаблон регулярного выражения в режим совместимости с юникодом.

Вот теперь все работает корректно:

Как видим, все достаточно просто. Не забывайте об этом модификаторе и регулярные выражения будут правильно работать с юникодом. Стоит отметить, что этот модификатор присущ PHP. В JavaScript, к примеру, такого модификатора нет и регулярные выражения будут корректно работать с текстом в любом случае.

На этом мы будем завершать сегодняшнюю статью. Больше о регулярных выражениях вы можете узнать из нашего курса по регулярным выражениям. Удачи!

Бесплатный курс по PHP программированию

Освойте курс и создайте динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Хотите изучить регулярные выражения на PHP?

Прямо сейчас посмотрите 12-ти часовой курс по регулярным выражениям на PHP!

Смотреть курс

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Я не робот.

Spam Protection by WP-SpamFree