Функції для роботи з регулярними виразами в PHP
У минулій статті ми розібрали значення регулярних виразів . Ви тепер повинні знати, що таке формальний вираз і де воно використовуються. А в цій статті ми вже торкнемося регулярних виразів безпосередньо в конкретній мові програмування і розберемо всі необхідні функції для роботи з регулярними виразами в PHP.
Насамперед, давайте перерахую всі ті функції, що постійно використовується, коли потрібно працювати з регулярними виразами в PHP:
- Функція preg_match (string pattern, string subject, array matches) - дана функція шукає збіги в рядку subject регулярному виразу pattern. Перше знайдене збіг поміщається в масив matches. Зверніть увагу, що ця функція шукає тільки перший збіг. Друге, третє і так далі вона не шукає! Масив matches буде таким:
- Перший елемент містить всю збіглася частина рядка в цілому.
- Другий елемент містить частину рядка, що збіглася з першим субпаттерном (що таке субпаттерни буде розібрано в одній з наступних статей).
- Третій елемент містить частину рядка, що збіглася з другим субпаттерном.
- І так далі.
- Функція preg_match_all (string pattern, string subject, array matches) - повний аналог функції preg_match (), але тут пошук збігів триває і після першого знайденого. Тобто якщо функція preg_match () зупиняє свою роботу після першого знайденого збіги, то функція preg_match_all () йде далі. Повертає ця функція - кількість збігів (зрозуміло, їх може бути більше 1-го).
- Функція preg_replace (mixed pattern, mixed replacement, mixed subject, int limit). Дуже корисна функція, яка в рядку subject замінює рядки, відповідні pattern, на replacement. Кількість замін задається параметром limit. Якщо даний параметр не вказано (а він є необов'язковим), то буде проведена заміна всіх запропонованих варіантів.
Тепер же давайте приведу простий приклад використання будь-якої з цієї функції, щоб Ви подивилися все на практиці:
<? Php
// Створюємо рядок з e-mail
$ Str = "Ось мій e-mail: [email protected], пишіть ...";
// Перевіряємо рядок на наявність e-mail за допомогою регулярних виразів і потім виводимо відповідний результат
if (preg_match ( "/ [a-z0-9 _-] + (\. [a-z0-9 _-] +) * @ ([0-9a-z] [0-9a-z -] * [0- 9a-z] \.) + ([az] {2,4}) / i ", $ str)) echo" E-mail знайдений ";
else echo "E-mail не найден";
?>
В результаті, як Ви і здогадалися з'явиться рядок: "E-mail знайдений". В даному прикладі написано регулярний вираз, яке Ви поки розуміти не повинні. Вже починаючи з наступного статті, ми з Вами будемо вчитися складати регулярні вирази, а поки просто прийміть як належне: регулярний вираз в прикладі шукає e-mail в заданому рядку.
Функцій для роботи з регулярними виразами в PHP дещо більше, але ось цей список - це найважливіші та найголовніші. Їх треба обов'язково знати і вміти застосовувати! Особисто я ці функції застосовував таку кількість разів, що не злічити. І заздалегідь можу сказати, що якщо постане питання про застосування регулярних виразів в PHP, то Ви цими функціями і будете користуватися.
Додавайтеся до мене в друзі ВКонтакте: http://vk.com/myrusakov .
Якщо Ви хочете дати оцінку мені і моїй роботі, то напишіть її в моїй групі: http://vk.com/rusakovmy .
Якщо Ви не хочете пропустити нові матеріали на сайті,
то Ви можете підписатися на оновлення: Підписатися на оновлення
Якщо у Вас залишилися які-небудь питання, або у Вас є бажання висловитися з приводу цієї статті, то Ви можете залишити свій коментар внизу сторінки.
Запропонуйте цю статтю друзям:
Якщо Вам сподобався сайт, то розмістіть посилання на нього (у себе на сайті, на форумі, в контакті):
- кнопка:
Вона виглядає ось так:
- Текстова посилання:
Вона виглядає ось так: Як створити свій сайт
- BB-код посилання для форумів (наприклад, можете поставити її в підписі):