Как да използвате функцията preg_match_all() в PHP

Kak Da Izpolzvate Funkciata Preg Match All V Php



preg_match_all() е вградена функция в PHP, използвана за съпоставяне на конкретния шаблон в низ. Можете да използвате тази функция за извършване на съвпадения на регулярни изрази и извличане на данни от низове. Може да спести време и усилия в случаите, когато трябва да търсите множество срещания на шаблон и се използва широко в приложения за парсиране на текст и извличане на данни на PHP.

Синтаксис

Следва синтаксисът за използване на preg_match_all в PHP:







preg_match_all ( модел , вход , мачове , знамена , изместване )

The preg_match_all приема следните параметри, три са задължителни параметъра и два са незадължителни:



  • модел : Това е задължителен параметър; съдържа регулярния израз, който трябва да се търси.
  • вход : Вторият също е задължителен параметър, тъй като това е низът, в който се извършва търсенето.
  • мачове : Съхранява изхода в масива, съдържащ всички съвпадения.
  • знамена : Описва как е структуриран масивът за търсене или съвпадения. Той променя поведението на търсенето на функция. Могат да се използват следните флагове:
  • изместване : Това е незадължителният параметър, който определя началната позиция на търсенето.
Флаг Описание
PREG_PATTERN_ORDER Полученият масив съдържа всички съвпадения на масив за всеки елемент от регулярния израз.
PREG_SET_ORDER Всеки от елементите на масива за съвпадения съдържа съвпадения от всяко групиране за едно от намерените съвпадения на низа.
PREG_OFFSET_CAPTURE Той връща съвпаденията със съответните им позиции на отместване в байтовете в низа за предмет.
PREG_UNMATCHED_AS_NULL Несъответстващите шаблони ще бъдат отчетени като NULL.

Пример 1

Разгледайте следния пример за използване на preg_match_all() функция в PHP. В този код ние търсим думата Linux в низа. Тази функция извежда броя на намерените съвпадения с думата Linux :





$низ = „Здравейте Linux ентусиасти, добре дошли в LinuxHint!“ ;

$модел = '/Linux/' ;

$ съвпадения = масив ( ) ;

preg_match_all ( $модел , $низ , $ съвпадения ) ;

print_r ( $ съвпадения [ 0 ] ) ;

?>





Пример 2

В този примерен код ние търсим думата E в низа. Малкото i се използва, за да направи търсенето нечувствително към главни и малки букви. Той ще върне всички срещания на низове на думата E или e:



$низ = „ДОБРЕ ДОШЛИ В САЩ.“ ;

$patternRex = '/E/i' ;

$matchFound = preg_match_all ( $patternRex , $низ , $ съвпадения ) ;

ако ( $matchFound ) {

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

print_r ( $ съвпадения ) ;

}

?>



Пример 3

Ако моделът, който търсите, не присъства в низа, функцията ще върне false, което показва грешка. За да се справите с това, можете да използвате изрази if-else. Ако шаблонът не е намерен, можете да отпечатате съобщение с помощта на оператора else, за да информирате потребителя, че шаблонът не е намерен.



$низ = „PHP е популярен скриптов език“ ;

$patternRex = '/peE/' ;

$matchFound = preg_match_all ( $patternRex , $низ , $ съвпадения ) ;

ако ( $matchFound ) {

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

ехо „Намерено съвпадение.“ ;

print_r ( $ съвпадения ) ;

} друго {

ехо „Няма намерено съответствие.“ ;

}

?>

Забележка : The <преди> в горния код се използва за форматиране на изхода.

Долен ред

Регулярните изрази са мощен инструмент за търсене и манипулиране на текст в PHP. The preg_match_all() е вградена PHP функция, която се използва за извършване на съответствие на регулярен израз срещу низ и извличане на всички срещания на шаблона и ако шаблонът не съществува, ще върне false. Разбиране на preg_match_all() ще помогне на потребителите да обработват по-добре текстови данни в PHP.