Регулярний вираз PHP / регулярний вираз: 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 ().

ТУТ,

  • "ім'я_функції (...)" - це або PHP preg_match (), PHP preg_split () або PHP preg_replace ().
  • "/ ... /" Похилі риски позначають початок і кінець нашої функції тесту регулярного виразу PHP
  • "'/ pattern /'" - це шаблон, який нам потрібно зіставити
  • "тема" - це текстовий рядок, з яким потрібно зіставити

Давайте тепер розглянемо практичні приклади, що реалізують вищезазначені функції регулярного виразу 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 ._-]" відповідає будь-яким малим чи великим літерам, цифрам від 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 (), які підтримують регулярні вирази.
  • Метасимволи дозволяють нам створювати складні візерунки