Как использовать функцию preg_match_all() в PHP

Kak Ispol Zovat Funkciu Preg Match All V Php



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

Синтаксис

Ниже приведен синтаксис для использования preg_match_all в PHP:







preg_match_all ( шаблон , вход , Матчи , флаги , компенсировать )

preg_match_all принимает следующие параметры, три обязательных параметра и два необязательных:



  • шаблон : обязательный параметр; он содержит регулярное выражение, которое необходимо найти.
  • вход : Второй параметр также является обязательным, так как это строка, в которой выполняется поиск.
  • Матчи : он сохраняет вывод в массиве, содержащем все совпадения.
  • флаги : описывает, как структурирован массив поиска или совпадений. Он изменяет поведение функции поиска. Можно использовать следующие флаги:
  • компенсировать : Это необязательный параметр, указывающий начальную позицию поиска.
Флаг Описание
PREG_PATTERN_ORDER Результирующий массив содержит все совпадения массива для каждого элемента регулярного выражения.
PREG_SET_ORDER Каждый элемент массива совпадений содержит совпадения из каждой группы для одного из найденных совпадений строки.
PREG_OFFSET_CAPTURE Он возвращает совпадения с соответствующими позициями смещения байтов в строке темы.
PREG_UNMATCHED_AS_NULL Несопоставленные шаблоны будут отображаться как NULL.

Пример 1

Рассмотрим следующий пример использования preg_match_all() функция в PHP. В этом коде мы ищем слово линукс в строке. Эта функция выводит количество найденных совпадений со словом линукс :





$строка '=' «Здравствуйте, энтузиасты Linux, добро пожаловать в LinuxHint!» ;

$шаблон '=' '/Линукс/' ;

$matches '=' множество ( ) ;

preg_match_all ( $шаблон , $строка , $matches ) ;

print_r ( $matches [ 0 ] ) ;

?>





Пример 2

В этом примере кода мы ищем слово E в строке. Маленькая буква i используется, чтобы сделать поиск нечувствительным к регистру. Он вернет все строковые вхождения слова E или e:



$строка '=' «ДОБРО ПОЖАЛОВАТЬ В США». ;

$patternRex '=' '/Э/и' ;

$matchFound '=' preg_match_all ( $patternRex , $строка , $matches ) ;

если ( $matchFound ) {

эхо '<пред>' ;

print_r ( $matches ) ;

}

?>



Пример 3

Если искомый шаблон отсутствует в строке, функция вернет false, что указывает на ошибку. Чтобы справиться с этим, вы можете использовать операторы if-else. Если шаблон не найден, вы можете распечатать сообщение, используя оператор else, чтобы проинформировать пользователя о том, что шаблон не найден.



$строка '=' «PHP — популярный язык сценариев» ;

$patternRex '=' '/peE/' ;

$matchFound '=' preg_match_all ( $patternRex , $строка , $matches ) ;

если ( $matchFound ) {

эхо '<пред>' ;

эхо «Совпадение найдено». ;

print_r ( $matches ) ;

} еще {

эхо «Совпадение не найдено». ;

}

?>

Примечание : <пред> тег в приведенном выше коде используется для форматирования вывода.

Нижняя граница

Регулярные выражения — это мощный инструмент для поиска и работы с текстом в PHP. preg_match_all() function — это встроенная функция PHP, которая используется для выполнения сопоставления регулярного выражения со строкой и извлечения всех вхождений шаблона, и если шаблон не существует, она возвращает false. Понимание preg_match_all() Функция поможет пользователям лучше обрабатывать и обрабатывать текстовые данные в PHP.