Sådan bruges preg_match_all()-funktionen i PHP

Sadan Bruges Preg Match All Funktionen I Php



preg_match_all() er en indbygget funktion i PHP, der bruges til at matche det specifikke mønster i en streng. Du kan bruge denne funktion til at udføre matches med regulære udtryk og udtrække data fra strenge. Det kan spare tid og kræfter i tilfælde, hvor du har brug for at søge efter flere forekomster af et mønster og bruges i vid udstrækning i tekstparsing og dataudtræksapplikationer af PHP.

Syntaks

Det følgende er syntaksen for at bruge preg_match_all i PHP:







preg_match_all ( mønster , input , Tændstikker , flag , offset )

Det preg_match_all accepterer følgende parametre, tre er obligatoriske parametre og to er valgfrie:



  • mønster : Det er den obligatoriske parameter; det indeholder det regulære udtryk, der skal søges i.
  • input : Den anden er også en obligatorisk parameter, da det er den streng, som søgningen udføres i.
  • Tændstikker : Den gemmer outputtet i arrayet, der indeholder alle matches.
  • flag : Den beskriver, hvordan søgningen eller matcher-arrayet er struktureret. Det ændrer funktionssøgningens adfærd. Følgende flag kan bruges:
  • offset : Det er den valgfri parameter, der angiver startpositionen for søgningen.
Flag Beskrivelse
PREG_PATTERN_ORDER Den resulterende matrix har alle matchene til en matrix for hvert element i det regulære udtryk.
PREG_SET_ORDER Match-arrayets elementer indeholder hver match fra hver gruppering for en af ​​strengens fundne matches.
PREG_OFFSET_CAPTURE Det returnerer matchene med deres tilsvarende byte offset positioner i emnestrengen.
PREG_UNMATCHED_AS_NULL De umatchede mønstre vil rapportere som NULL.

Eksempel 1

Overvej følgende eksempel på brug af preg_match_all() funktion i PHP. I denne kode søger vi efter ordet Linux i snoren. Denne funktion udlæser antallet af matches fundet mod ordet Linux :





$streng = 'Hej Linux-entusiaster, Velkommen til LinuxTip!' ;

$mønster = '/Linux/' ;

$kampe = array ( ) ;

preg_match_all ( $mønster , $streng , $kampe ) ;

print_r ( $kampe [ 0 ] ) ;

?>





Eksempel 2

I denne eksempelkode søger vi efter ordet E i strengen. Det lille i bruges til at gøre søgningen ufølsom mellem store og små bogstaver. Det vil returnere alle strengforekomster af ordet E eller e:



$streng = 'VELKOMMEN TIL USA.' ;

$patternRex = '/E/i' ;

$matchFundet = preg_match_all ( $patternRex , $streng , $kampe ) ;

hvis ( $matchFundet ) {

ekko '' ;

print_r ( $kampe ) ;

}

?>



Eksempel 3

Hvis det mønster, du søger efter, ikke er til stede i strengen, vil funktionen returnere falsk, hvilket indikerer en fejl. For at håndtere dette kan du bruge if-else-sætninger. Hvis mønsteret ikke findes, kan du udskrive en besked ved hjælp af else-erklæringen for at informere brugeren om, at mønsteret ikke blev fundet.



$streng = 'PHP er et populært scriptsprog' ;

$patternRex = '/peE/' ;

$matchFundet = preg_match_all ( $patternRex , $streng , $kampe ) ;

hvis ( $matchFundet ) {

ekko '' ;

ekko 'Match fundet.' ;

print_r ( $kampe ) ;

} andet {

ekko 'Ingen match fundet.' ;

}

?>

Bemærk : Det

   tag i ovenstående kode bruges til at formatere output.

Bundlinie

Regulære udtryk er et kraftfuldt værktøj til at søge og manipulere tekst i PHP. Det preg_match_all() function er en indbygget PHP-funktion, der bruges til at udføre et regulært udtryksmatch mod en streng og hente alle forekomster af mønsteret, og hvis mønsteret ikke eksisterer, vil det returnere falsk. Forståelse af preg_match_all() funktion vil hjælpe brugere til bedre at håndtere og behandle tekstdata i PHP.