Главная->Уроки по php->Функции для работы с регулярными выражениями
Функции для работы с регулярными выражениями
в PHP Функции для работы с регулярными выражениями в PHP В прошлой статье мы разобрали значение регулярных выражений. Вы теперь должны знать, что такое регулярное выражение и где оно используются. А в этой статье мы уже коснёмся регулярных выражений непосредственно в конкретном языке программировании и разберём все необходимые функции для работы с регулярными выражениями в PHP. Первым делом, давайте перечислю все те функции, что постоянно используется, когда нужно работать с регулярными выражениями в PHP: Функция preg_match(string pattern, string subject, array matches) - данная функция ищет совпадения в строке subject регулярному выражению pattern. Первое найденное совпадение помещается в массив matches. Обратите внимание, что эта функция ищет только первое совпадение. Второе, третье и так далее она не ищет! Массив matches будет таким: Первый элемент содержит всю совпавшую часть строки в целом. Второй элемент содержит часть строки, совпавшей с первым субпаттерном (что такое субпаттерны будет разобрано в одной из следующих статей). Третий элемент содержит часть строки, совпавшей с вторым субпаттерном. И так далее. Также очень важно понимать, что параметр matches не обязателен. Ещё очень важный момент функции preg_match() - это её использование в простом поиске на совпадение, так как она возвращает либо 0 (не было совпадений), либо 1 (было совпадение). Ввиду этого, данная функция очень активно используется в конструкциях IF. Функция 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: abc@gmail.com, пишите..."; //Проверяем строку на наличие e-mail с помощью регулярных выражений и затем выводим соответствующий результат if (preg_match("/[a-z0-9_-]+(\.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})/i", $str)) echo "E-mail найден"; else echo "E-mail не найден"; ?> В результате, как Вы и догадались появится строка: "E-mail найден". В данном примере написано регулярное выражение, которое Вы пока понимать не должны. Уже начиная со следующей статьи, мы с Вами будем учиться составлять регулярные выражения, а пока просто примите как должное: регулярное выражение в примере ищет e-mail в заданной строке. Функций для работы с регулярными выражениями в PHP несколько больше, но вот этот список - это самые важные и самые главные. Их надо обязательно знать и уметь применять! Лично я эти функции применял такое количество раз, что не сосчитать. И заранее могу сказать, что если встанет вопрос о применении регулярных выражений в PHP, то Вы этими функциями и будете пользоваться.