Регулярные выражения — это мощные инструменты для сопоставления шаблонов в 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-адресов.
Регулярные выражения предлагают широкий спектр расширенных функций и метасимволов, позволяющих определять сложные шаблоны.
Если вы хотите изучить более продвинутые методы, рассмотрите возможность обращения к онлайн-ресурсам и документации.
-
Модные Зимние Сапоги С Начала Жизни
19 Dec, 24 -
Методы Microsoft Dynamics Gp [Видеокурс]
19 Dec, 24 -
Невероятные Кошельки Gucci
19 Dec, 24 -
Очистите Этот Код!
19 Dec, 24 -
Не Вините В Этом Веб-Мастера
19 Dec, 24