Какво представлява регулярният израз в PHP?
Регулярният израз на PHP, известен също като регулярно изражение, е мощен алгоритъм за съвпадение на шаблони, който може да се изпълни в един израз. Регулярните изрази използват аритметични оператори като (+, -, ^) за създаване на сложни изрази. Те могат да ви помогнат да изпълнявате задачи като валидиране на имейл адреси, IP адрес и т.н.
Защо да използваме регулярни изрази
- Регулярните изрази на PHP опростяват идентифицирането на модели в низови данни чрез извикване на една функция. Това ни спестява време за кодиране.
- При валидиране на потребителски въведения като имейл адрес, имена на домейни, телефонни номера, IP адреси,
- Открояване на ключови думи в резултатите от търсенето
- Когато създавате персонализиран HTML шаблон. Regex в PHP може да се използва за идентифициране на маркерите на шаблона и замяната им с действителни данни.
В този урок за PHP Regex ще научите:
- Вградени функции за регулярен израз в PHP
- PHP Preg_match ()
- PHP Preg_split ()
- PHP Preg_replace ()
- Метасимволи с регулярен израз
- Обяснение на модела
Вградени функции за регулярен израз в PHP
PHP има вградени функции, които ни позволяват да работим с обикновени функции, които ще научим в този урок за регулярни изрази на PHP. Нека разгледаме често използваните функции на регулярния израз в PHP.
- preg_match () в PHP - тази функция се използва за извършване на съвпадение на шаблони в PHP върху низ. Връща true, ако съвпадение бъде намерено и false, ако съвпадение не е намерено.
- preg_split () в PHP - тази функция се използва за извършване на съвпадение на шаблон върху низ и след това разделяне на резултатите в числов масив
- preg_replace () в PHP - тази функция се използва за извършване на съвпадение на шаблон върху низ и след това заместване на съвпадението с посочения текст.
По-долу е даден синтаксисът на функция за регулярен израз, като PHP preg_match (), PHP preg_split () или PHP preg_replace ().
ТУК,
- "function_name (...)" е или PHP preg_match (), PHP preg_split () или PHP preg_replace ().
- "/ ... /" Наклонените наклонени черти означават началото и края на нашата функция за тестване на PHP регулярни изрази
- "'/ pattern /'" е моделът, който трябва да съпоставим
- "subject" е текстовият низ, който трябва да бъде съпоставен
Нека сега разгледаме практически примери, които изпълняват горните функции на PHP регулярни изрази.
PHP Preg_match ()
Първият пример използва preg_match () във функцията PHP, за да изпълни просто съвпадение на шаблона за думата гуру в даден URL адрес.
Кодът по-долу показва изпълнението на функцията за изпитване preg_match () за горния пример.
Отидете до URL адреса http: //localhost/phptuts/preg_match_simple.php
Нека разгледаме частта от кода, отговорна за нашия изход "preg_match ('/ guru /', $ my_url)" ТУК,
- "preg_match (...)" е PHP функцията за регулярно изражение
- "'/ guru /'" е моделът на регулярния израз, който трябва да бъде съчетан
- "$ my_url" е променливата, съдържаща текста, който трябва да се съпостави.
Диаграмата по-долу обобщава горните точки
PHP Preg_split ()
Нека сега разгледаме друг пример, който използва preg_split () във функцията PHP.
Ще вземем низова фраза и ще я взривим в масив; моделът, който трябва да се съчетае, е едно пространство.
Текстовият низ, който ще се използва в този пример, е „Обичам регулярните изрази“.
Кодът по-долу илюстрира изпълнението на горния пример.
Отворете URL адреса http: //localhost/phptuts/preg_split.php
PHP Preg_replace ()
Нека сега разгледаме preg_replace () във функцията PHP, която изпълнява съвпадение на шаблон и след това замества шаблона с нещо друго.
Кодът по-долу търси думата гуру в низ.
Той заменя думата гуру с думата гуру, заобиколена от css код, който подчертава цвета на фона.
Ако приемем, че сте запазили файла preg_replace.php, браузър към URL адреса http: //localhost/phptuts/preg_replace.php
Метасимволи с регулярен израз
Горните примери използваха много основни модели; метасимволите просто ни позволяват да изпълняваме по-сложни съвпадения на шаблони, като например да тестваме валидността на имейл адрес. Нека сега разгледаме често използваните метасимволи.
Метасимвол | Описание | Пример |
---|---|---|
. | Съответства на всеки един символ, с изключение на нов ред | /./ съвпада с всичко, което има един знак |
^ | Съвпада с началото на или низ / изключва символи | / PH / съответства на всеки низ, който започва с PH |
$ | Съвпада с модела в края на низа | / com $ / съвпада с guru99.com, yahoo.com и т.н. |
* | Съвпада с всякакви нула (0) или повече знака | / com * / съвпада с компютър, комуникация и др. |
+ | Изисква предходните символи да се появят поне веднъж | / yah + oo / съвпада с yahoo |
\ | Използва се за бягство от мета символи | /yahoo+\.com/ третира точката като буквална стойност |
[…] | Клас на героите | / [abc] / съвпада с abc |
аз | Съвпада с малки букви | / az / съвпада готино, щастливо и т.н. |
AZ | Съвпада с главни букви | / AZ / съвпада КАКВО, КАК, ЗАЩО и т.н. |
0-9 | Съвпада с произволно число между 0 и 9 | / 0-4 / съвпада 0,1,2,3,4 |
Горният списък дава само най-често използваните метасимволи в регулярни изрази.
Нека сега разгледаме доста сложен пример, който проверява валидността на имейл адрес.
Обяснение на модела "[/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/] "
ТУК,
- "'/ ... /'" започва и завършва регулярния израз
- „[a-zA-Z0-9 ._-]“ съответства на малки или главни букви, цифри между 0 и 9 и точки, долни черти или тирета.
- „+ @ [a-zA-Z0-9-]“ съответства на символа @, последван от малки или главни букви, цифри между 0 и 9 или тирета.
- "+ \. [a-zA-Z.] {2,5} $ /" избягва точката, използвайки обратната наклонена черта, след което съвпада с малки или големи букви с дължина на символа между 2 и 5 в края на низа.
Прегледайте URL адреса http: //localhost/phptuts/preg_match.php
Както можете да видите от горната примерна разбивка, метасимволите са много мощни, когато става въпрос за съвпадение на модели.
Обобщение
- Регулярният израз или регулярният израз в PHP е алгоритъм за съвпадение на шаблони
- Регулярните изрази са много полезни при извършване на проверки за валидиране, създаване на системи с HTML шаблони, които разпознават тагове и т.н.
- PHP има вградени функции, а именно PHP preg_match (), PHP preg_split () и PHP preg_replace (), които поддържат регулярни изрази.
- Метасимволите ни позволяват да създаваме сложни модели