Hvordan bruke preg_match_all()-funksjonen i PHP

Hvordan Bruke Preg Match All Funksjonen I Php



preg_match_all() er en innebygd funksjon i PHP som brukes til å matche det spesifikke mønsteret i en streng. Du kan bruke denne funksjonen til å utføre samsvar med regulære uttrykk og trekke ut data fra strenger. Det kan spare tid og krefter i tilfeller der du trenger å søke etter flere forekomster av et mønster, og er mye brukt i tekstparsing og dataekstraksjonsapplikasjoner av PHP.

Syntaks

Følgende er syntaksen for bruk av preg_match_all i PHP:







preg_match_all ( mønster , input , fyrstikker , flagg , offset )

De preg_match_all godtar følgende parametere, tre er obligatoriske parametere og to er valgfrie:



  • mønster : Det er den obligatoriske parameteren; den inneholder det regulære uttrykket som må søkes i.
  • input : Den andre er også en obligatorisk parameter, da det er strengen som søket utføres i.
  • fyrstikker : Den lagrer utdataene i matrisen som inneholder alle samsvarene.
  • flagg : Den beskriver hvordan søket eller treff-matrisen er strukturert. Det endrer oppførselen til søket etter funksjon. Følgende flagg kan brukes:
  • offset : Det er den valgfrie parameteren som spesifiserer startposisjonen for søket.
Flagg Beskrivelse
PREG_PATTERN_ORDER Den resulterende matrisen har alle samsvarene til en matrise for hvert element i det regulære uttrykket.
PREG_SET_ORDER Match-matrisens elementer inneholder hver samsvar fra hver gruppering for en av strengens funnet samsvar.
PREG_OFFSET_CAPTURE Den returnerer samsvarene med deres tilsvarende byte-forskyvningsposisjoner i emnestrengen.
PREG_UNMATCHED_AS_NULL De umatchede mønstrene vil rapportere som NULL.

Eksempel 1

Tenk på følgende eksempel på bruk av preg_match_all() funksjon i PHP. I denne koden søker vi etter ordet Linux i strengen. Denne funksjonen gir ut antall treff funnet mot ordet Linux :





$string = 'Hei Linux-entusiaster, Velkommen til LinuxHint!' ;

$mønster = '/Linux/' ;

$kamper = array ( ) ;

preg_match_all ( $mønster , $string , $kamper ) ;

print_r ( $kamper [ 0 ] ) ;

?>





Eksempel 2

I denne eksempelkoden søker vi etter ordet E i strengen. Den lille i-en brukes til å gjøre søket ufølsomt for store og små bokstaver. Det vil returnere alle strengforekomstene av ordet E eller e:



$string = 'VELKOMMEN TIL USA.' ;

$patternRex = '/E/i' ;

$matchFound = preg_match_all ( $patternRex , $string , $kamper ) ;

hvis ( $matchFound ) {

ekko «» ;

print_r ( $kamper ) ;

}

?>



Eksempel 3

Hvis mønsteret du søker etter ikke er til stede i strengen, vil funksjonen returnere false, noe som indikerer en feil. For å håndtere dette kan du bruke if-else-setninger. Hvis mønsteret ikke blir funnet, kan du skrive ut en melding ved å bruke else-erklæringen for å informere brukeren om at mønsteret ikke ble funnet.



$string = 'PHP er et populært skriptspråk' ;

$patternRex = '/tisse/' ;

$matchFound = preg_match_all ( $patternRex , $string , $kamper ) ;

hvis ( $matchFound ) {

ekko «» ;

ekko 'Match funnet.' ;

print_r ( $kamper ) ;

} ellers {

ekko 'Ingen treff funnet.' ;

}

?>

Merk : Den

   taggen i koden ovenfor brukes til å formatere utdataene.

Bunnlinjen

Regulære uttrykk er et kraftig verktøy for å søke og manipulere tekst i PHP. De preg_match_all() function er en innebygd PHP-funksjon som brukes til å utføre et regulært uttrykksmatch mot en streng og hente alle forekomster av mønsteret, og hvis mønsteret ikke eksisterer, vil det returnere false. Å forstå preg_match_all() funksjonen vil hjelpe brukere til å bedre håndtere og behandle tekstdata i PHP.