Редовен израз на PHP / Regex: preg_match () - preg_replace ()

Съдържание:

Anonim

Какво представлява регулярният израз в 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 (), които поддържат регулярни изрази.
  • Метасимволите ни позволяват да създаваме сложни модели