Как с помощью PHP preg match регулярные выражения проверить

Как с помощью PHP preg match регулярные выражения проверить

От автора: приехали на дачу. А до этого жена обещала борщом меня накормить. Всю дорогу нахваливала его! Я вкалывал, как следует: огород заборонил, мусор сгреб. Ну, вроде на обед заработал! А жена, оказывается, судочки с борщом и другими блюдами дома забыла. Хорошо, что я захватил с собой ноутбук. И чтобы отвлечься от голода, решил написать очередную статью. Сегодня расскажу о функции PHP preg match регулярные выражения без которой бессмысленны. Прямо, как моя работа на даче :) .

Немного утрирую

Понятно, что на этой функции мир клином не сошелся. Но все-таки она является одним из основных средств для работы с регулярками в PHP. Давайте познакомимся с preg_match() поближе.

Эта функция проверят, присутствуют ли в заданной строке соответствия, установленные шаблоном регулярного выражения. Наверно, на слух понятно не очень. Поэтому подкрепим теорию простеньким примером в тему, в котором воспользуемся PHP preg match():

<?php
$str1="Муж остался голодным на даче, потому что жена забыла дома борщ.";
if (preg_match("/борщ/i", $str1)) {
    echo "Борщ найден!";
}
else {
    echo "Борща нема!";
}
?>

Как с помощью PHP preg match регулярные выражения проверить

Возвращаемое!

Судя по тому, что функция preg match в PHP примере использовалась для проверки на наличие соответствия, она возвращает 0 или 1. Докажем это утверждение на практике:

<?php
$str1="Муж остался голодным на даче, потому что жена забыла дома борщ.";

echo preg_match("/борщ/i", $str1);

?>

Как с помощью PHP preg match регулярные выражения проверить

Мы оказались правы. Исходя из этого, самый первый пример PHP preg match с русскими буквами можно немного модифицировать:

<?php
$str1="Муж остался голодным на даче, потому что жена забыла дома борщ.";
if (preg_match("/борщ/i", $str1)==1) {
    echo "Борщ найден!";
}
else {
    echo "Борща нема!";
}

?>

Как с помощью PHP preg match регулярные выражения проверить

Сейчас поясню, в чем тут соль! Единица (true) возвращается функцией в том случае, если во входящей строке найдено совпадение, заданное шаблоном. Если совпадений в строке не найдено, то функция возвратит ноль (false).

С цифрами!

Теперь рассмотрим пример нахождения с помощью PHP preg match цифр в переданной строке.

		   
<?php
$str1="Муж остался голодным на даче,
потому что жена забыла дома 2 литра борща.";
if (preg_match("/2/i", $str1)==1) {
    echo "2 литра борща найдено!";
}
else {
    echo "Борща нема!";
}

?>

Как с помощью PHP preg match регулярные выражения проверить

Обратите внимание на используемый шаблон регулярного выражения: /2/i

Модификатор i в этом примере с буквами можно опустить. Он используется для включения регистронезависимого поиска, но для нахождения цифровых значений он не нужен. Это стоит учитывать, если будете проверять с помощью PHP preg match поля email в регистрационных формах.

Извлечение искомого значения

В preg_match() есть несколько необязательных параметров. Все их я не буду описывать. Остановлюсь только на том, который позволяет вывести искомые значения на экран. Они записываются в массив match, поэтому для их отображения нужно использовать print_r() или при выводе с помощью echo явно указывать индекс элемента. Это может пригодиться вам, если нужно с помощью preg match all вырезать ссылки PHP DLE.

<?php
$str1="Муж остался голодным на даче,
потому что жена забыла дома 2 литра борща.";

preg_match("/борщ/i", $str1, $match);

print_r($match);
echo "<br />";
echo $match[0];

?>

Как с помощью PHP preg match регулярные выражения проверить

Также не забывайте, что проверить корректность работы PHP preg match можно online с помощью специальных сервисов. Например, вот этот.

Как с помощью PHP preg match регулярные выражения проверить

Ладно, мне пора. Да и есть хочу сильно. Наверное, заеду на заправку «собаками горячими» закидаюсь! Назло жене, чтоб борщ мой дома не забывала :) .

Самые свежие новости IT и веб-разработки на нашем Telegram-канале

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

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

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

Метки:

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

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

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

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

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

Я не робот.

Spam Protection by WP-SpamFree