Що таке регулярний вираз у 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 (), які підтримують регулярні вирази.
- Метасимволи дозволяють нам створювати складні візерунки