Регулярное выражение PHP: как использовать RegExp в PHP

Регулярные выражения, широко известные как « regex » или « RegExp» , представляют собой текстовые строки специального формата, используемые для обнаружения шаблонов в тексте. Регулярные выражения — это один из различных надежных инструментов, доступных сегодня для эффективной и действенной обработки текста и манипуляций.

Зачем использовать регулярные выражения

  1. Регулярные выражения упрощают определение шаблонов в строковых данных путем вызова единственной функции. Он сохраняет время кодирования.
  2. Это полезно, когда мы проверяем вводимые пользователем данные, такие как адрес электронной почты, доменные имена, номера телефонов, IP-адреса.
  3. Выделение ключевых слов в результатах поиска.
  4. При создании настраиваемого шаблона HTML можно использовать регулярные выражения для распознавания тегов шаблона и замены их фактическими данными.

Регулярное выражение PHP

PHP версии 5.3 и выше поддерживает регулярные выражения в стиле Perl с помощью своего семейства функций preg_ . /p>

Мы используем регулярные выражения в стиле Perl, потому что Perl ( Практический язык извлечения и отчетов ) был первым основным языком программирования, который обеспечивал межрасовую поддержку регулярных выражений, и это хорошо известен своей сильной поддержкой регулярных выражений и исключительными возможностями обработки текста и манипуляций.

Язык PHP имеет встроенные функции, которые позволяют нам работать k с регулярными функциями. Теперь давайте посмотрим на регулярно используемые функции регулярных выражений в PHP.

  1. preg_match — функция preg_match () используется для сопоставления с шаблоном строки. Он возвращает true, если совпадение найдено, и false, если совпадение не найдено.
  2. preg_split — функция preg_split () используется для выполнения сопоставления с шаблоном на строку, а затем разделите результаты на числовой массив.
  3. preg_replace — функция preg_replace () используется для выполнения сопоставления с шаблоном в строке и последующей замены совпадение с указанным текстом.

PHP preg_match ()

Функция preg_match () ищет строку для шаблон, возвращающий истину, если шаблон существует, и ложь в противном случае. Если указан необязательный входной параметр pattern_array, тогда pattern_array будет содержать различные разделы подшаблонов, включенных в шаблон поиска, если это применимо.

Обычно поиск начинается с начала строки темы. Необязательный параметр offset может использоваться для указания альтернативного места, с которого следует начать поиск.

См. Следующий синтаксис для функции preg_match ().

 preg_match ($ pattern, $ input, $ matches, $ flags, $ offset) 

preg_match () функция принимает пять параметров.

  1. шаблон: параметр шаблона содержит шаблон для поиска в виде строки.
  2. input: параметр input содержит строку ввода.
  3. совпадения: Если совпадения существуют, то он содержит результаты поиска. $ Match [0] будет содержать текст, соответствующий полному шаблону, $ match [1] будет содержать текст, который соответствует первому захваченному вложенному шаблону в скобках, и так далее.
  4. флаги: есть следующие флаги:
    1. PREG_OFFSET_CAPTURE: если флаг PREG_OFFSET_CAPTURE передан как параметр, для каждого совпадения в качестве вывода будет возвращено смещение добавляемой строки.
    2. PREG_UNMATCHED_AS_NULL: Если флаг PREG_UNMATCHED_AS_NULL затем передается в качестве параметра, неподходящие подшаблоны сообщают как NULL; в противном случае они отображаются как пустая строка.
  5. Смещение: Обычно поиск начинается с начала входной строки. Необязательный параметр смещения offset используется для указания места, с которого следует начать поиск (в байтах).

См. Следующий пример.

  

В приведенном выше примере

  1. «preg_match (…)» — это функция регулярного выражения PHP.
  2. «/appdividend/» — шаблон регулярного выражения, который нужно сопоставить.
  3. «$ uniform» — это переменная, содержащая текст для сопоставления.

См. следующий вывод.

 ➜ pro php app.phpURL https://appdividend.com содержит AppDividend ➜ pro 

PHP preg_split ()

Функция preg_split () — это встроенная функция в PHP, которая используется для преобразования заданной строки в массив. Функция делит строку на более мелкие строки или подстроки длины, указанной пользователем. Если предел указан, то небольшая строка или подстроки до ограничения возвращаются через массив.

Синтаксис

См. Следующий синтаксис.

 preg_split ($ pattern, $ subject, $ limit, $ flag) 

Параметры

  1. $ pattern: значение — это строковый тип, в котором шаблон должен искать как строку; в противном случае он отправляет элементы.
  2. $ subject: Параметр $ subject является переменным, который используется для сохранения ввода строка.
  3. $ limit: $ limit указывает предел. Если предел указан, то маленькая или подстрока должна быть возвращена до предела. Если лимит равен 0 или -1, это означает, что « без лимита » позже используется флагом ( $ strflag ).
  4. $ flags: $ flags используется для сигнализации, а его тип переменной используется для регистрации двух состояний True или False для управления программой. Его комбинации различных флагов, например:
    1. PREG_SPLIT_NO_EMPTY: Если для переменной флага установлено значение PREG_SPLIT_NO_EMPTY , тогда только непустые части будут возвращены функцией preg_split () .
    2. PREG_SPLIT_DELIM_CAPTURE: если установлена ​​переменная flag к этому параметру тогда выражение в скобках в шаблоне разделителя также будет воспринято и возвращено.
    3. PREG_SPLIT_OFFSET_CAPTURE: Если для переменной флага установлено значение PREG_SPLIT_OFFSET_CAPTURE, для каждого встречающегося совпадения будет возвращено дополнительное смещение строки, которое изменяет возвращаемое значение в массиве, где смещение сопоставленной строки будет равно 0, а смещение входной строки будет равно 1.

См. следующий пример.

  php//app.php $ str = 'MillieBobbyBrown';  $ output = preg_split ('//', $ str, -1, PREG_SPLIT_NO_EMPTY);  print_r ($ result); 

Приведенный выше код возвращает массив после совпадения разделенных границ. Когда предел исходного массива или строки превышает, то возвращается с элементом массива, в противном случае это False .

См. Вывод.

 ➜ pro php app.phpArray ([0] => M [1] => i [2] => l [3] => l [4] => i [5] => e [6] =>  B [7] => o [8] => b [9] => b [10] => y [11] => B [12] => r [13] => o [14] => w [  15] => n) ➜ pro 

Давайте разделим строки, когда мы найдем пробелы между подстроками.

  Php//app.php $ result =  preg_split ("/[ s,] +/", "Милли Бобби Браун");  print_r ($ result); 

Посмотреть результат.

 ➜ pro php app.phpArray ([0] => Милли [1] => Бобби [2]  => Коричневый) ➜ pro 

#PHP Пример preg_replace ()

preg_replace () — это встроенная функция в PHP, которая используется для выполнения регулярного выражения для поиска и замены содержимого.

См. следующий синтаксис.

 preg_replace ($  pattern, $ replacement, $ subject, $ limit, $ count) 
  1. $ pattern: $ patten Параметр strong> содержит строковый элемент, который используется для поиска содержимого, и это может быть строка или массив строк.
  2. $ replace: Параметр $ replace обязательный параметр, определяющий строку или массив со строками для замены.
  3. $ subject: $ subject — это строка или массив со строками для поиска и замены.
  4. $ limit: Параметр $ limit указывает максимально возможные замены для каждого шаблона.
  5. $ count: Параметр $ count является необязательным. Переменная $ count будет заполнена количеством выполненных замен.

См. Следующий пример.

  Php//app.php $  string = '19 февраля 2004 г.';  $ шаблон = '/( w +) ( d +), ( d +)/i';  $ replace = '$ {1} 29, $ 3';  echo preg_replace ($ pattern, $ replacement, $ string); 

См. следующий вывод.

 ➜ pro php app.php 29 февраля 2004 г. ➜ pro 

Функция PHP preg_replace () возвращает массив, если параметр субъекта является массивом, или строку в противном случае.

Наконец, пример регулярного выражения PHP завершен.

Оцените статью
nanomode.ru
Добавить комментарий