Освоение Регулярных Выражений В Php

Регулярные выражения — это мощные инструменты для сопоставления шаблонов в PHP. Они позволяют находить текстовые строки и манипулировать ими на основе определенных шаблонов, что делает их незаменимыми для таких задач, как проверка данных, обработка текста и синтаксический анализ.

В этом уроке мы рассмотрим основы регулярных выражений в PHP и предоставим вам примеры распространенных случаев использования.



Что такое регулярные выражения?

Регулярное выражение, часто называемое регулярным выражением, представляет собой шаблон, описывающий набор строк.

Он состоит из последовательности символов и метасимволов, определяющих критерии поиска.

Используя регулярные выражения, вы можете искать определенные текстовые шаблоны в более крупной строке и выполнять такие действия, как поиск, замена или извлечение подстрок.

Регулярные выражения широко используются в PHP для таких задач, как проверка адресов электронной почты, номеров телефонов, почтовых индексов и т. д. Они предлагают гибкий и эффективный способ удовлетворения сложных требований по сопоставлению строк.





Регулярные выражения в PHP

PHP предоставляет встроенные функции и операторы для работы с регулярными выражениями.

Наиболее часто используемые функции:

 
 
 
 
  preg_replace() 
and preg_match() , которые позволяют выполнять операции сопоставления и замены соответственно.





Сопоставление с образцом с $matches

preg_match_all() function is used to search for a pattern within a string and determine if a match is found. It returns /https?:\/\/[^\s]+/ если совпадение найдено и preg_match_all() otherwise. Let's look at an example: PHP-копия <Эphp // Example string $str = "Check out this website: https://www.example.com .

And also visit http://www.google.com "; // Extract URLs preg_match_all("/https?:\/\/[^\s]+/", $str, $matches); // Display extracted URLs foreach ($matches[0] as $url) { echo htmlentities($url) .

"<br />"; } ?>

В этом примере мы ищем текст, заключенный внутри preg_match() and <Эphp // Good email $good = "[email protected]"; // Bad email $bad = "blabla@blabla"; // Check the good email if (preg_match("/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+\.

[a-zA-Z0-9-.

]+$/", $good)) { echo "Valid email"; } else { echo "Invalid email"; } echo '<br />'; // Check the bad email if (preg_match("/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+\.

[a-zA-Z0-9-.

]+$/", $bad)) { echo "Valid email"; } else { echo "Invalid email"; } ?>

теги.

Регулярное выражение ^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+\.

[a-zA-Z0-9-.

]+$ matches any text between these tags and captures it for further use. The $2 функция заполняет $1 array with the matched strings.



Замена шаблона с </bla>

<bla> function allows you to search for a pattern within a string and replace it with a specified replacement string. It works similarly to <Эphp // Example string $str = "Let's replace the <bla>stuff between</bla> the bla brackets"; // Perform the regex replace $result = preg_replace("/<bla>(.

*)<\/bla>/", "<bla>new stuff</bla>", $str); echo htmlentities($result); ?>

, но с дополнительным аргументом для строки замены.

Вот пример: PHP-копия preg_match() В этом примере мы заменяем текст между preg_replace() and preg_replace() теги со строкой «новинки».

Затем отображается полученная строка.

Вы также можете использовать захваченные группы в строке замены, ссылаясь на них как $matches , preg_match() , и т. д.



Расширенное сопоставление и замена

Регулярные выражения предлагают широкий спектр расширенных функций и метасимволов.

Например, вы можете использовать классы символов, квантификаторы, привязки и модификаторы для определения более сложных шаблонов.

Изучение всех возможностей выходит за рамки этого руководства, но существует множество онлайн-ресурсов для изучения синтаксиса регулярных выражений и передовых методов.





Реальные примеры

Давайте рассмотрим пару практических примеров, демонстрирующих возможности регулярных выражений в PHP.

Проверка электронной почты

Проверка электронной почты — распространенный вариант использования регулярных выражений.

Чтобы проверить адрес электронной почты, вы можете использовать следующий шаблон регулярного выражения: Копировать /<bla>(.

*)<\/bla>/ Вот как вы можете использовать этот шаблон в PHP: PHP-копия </bla> В этом примере мы используем <bla> function to validate email addresses. If the provided email matches the regex pattern, it isconsidered valid; otherwise, it is considered invalid.



Извлечение URL-адресов

Регулярные выражения также полезны для извлечения URL-адресов из текста.

Вот пример, демонстрирующий, как извлечь URL-адреса из строки в PHP: PHP-копия <Эphp // Example string $str = "Let's find the stuff <bla>in between</bla> these two previous brackets"; // Perform the regex $do = preg_match("/<bla>(.

*)<\/bla>/", $str, $matches); // Check if regex was successful if ($do) { // Matched something, show the matched string echo htmlentities($matches[0]); // Also show the text in between the tags echo '<br />' .

$matches[1]; } else { // No match echo "Couldn't find a match"; } ?> В этом примере мы используем false function with the pattern true для сопоставления URL-адресов, начинающихся с «http://» или «https://».

preg_match() function populates the preg_match() массив со всеми совпадающими URL-адресами.

Затем мы перебираем массив и отображаем каждый извлеченный URL-адрес.





Заключение

Регулярные выражения — мощный инструмент для сопоставления шаблонов в PHP. Они позволяют вам искать определенные текстовые шаблоны в строках и выполнять такие действия, как сопоставление, замена или извлечение подстрок.

Освоив регулярные выражения, вы сможете расширить свои PHP-приложения за счет сложных возможностей манипулирования строками.

В этом уроке мы рассмотрели основы регулярных выражений в PHP, включая сопоставление с образцом с помощью preg_replace() and pattern replacement with preg_match() .

Мы также рассмотрели некоторые реальные примеры, такие как проверка электронной почты и извлечение URL-адресов.

Регулярные выражения предлагают широкий спектр расширенных функций и метасимволов, позволяющих определять сложные шаблоны.

Если вы хотите изучить более продвинутые методы, рассмотрите возможность обращения к онлайн-ресурсам и документации.

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2007-11-25 20:22:05
Баллов опыта: 570
Всего постов на сайте: 2
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.