Hoe de functie preg_match_all() in PHP te gebruiken

Hoe De Functie Preg Match All In Php Te Gebruiken



preg_match_all() is een ingebouwde functie in PHP die wordt gebruikt om overeen te komen met het specifieke patroon in een tekenreeks. U kunt deze functie gebruiken om overeenkomsten met reguliere expressies uit te voeren en gegevens uit tekenreeksen te extraheren. Het kan tijd en moeite besparen in gevallen waarin u naar meerdere exemplaren van een patroon moet zoeken en wordt veel gebruikt in toepassingen voor tekstparsing en gegevensextractie van PHP.

Syntaxis

Het volgende is de syntaxis voor het gebruik van de preg_match_all in PHP:







preg_match_all ( patroon , invoer , wedstrijden , vlaggen , compenseren )

De preg_match_all accepteert de volgende parameters, drie zijn verplichte parameters en twee zijn optioneel:



  • patroon : Het is de verplichte parameter; het bevat de reguliere expressie die moet worden doorzocht.
  • invoer : De tweede is ook een verplichte parameter, aangezien het de string is waarin de zoekopdracht wordt uitgevoerd.
  • wedstrijden : Het slaat de uitvoer op in de array die alle overeenkomsten bevat.
  • vlaggen : Het beschrijft hoe de zoek- of overeenkomstenarray is gestructureerd. Het wijzigt het gedrag van het zoeken naar functies. De volgende vlaggen kunnen worden gebruikt:
  • compenseren : Het is de optionele parameter die de startpositie van de zoekopdracht specificeert.
Vlag Beschrijving
PREG_PATTERN_ORDER De resulterende array bevat alle overeenkomsten van een array voor elk element van de reguliere expressie.
PREG_SET_ORDER De elementen van de matches-array bevatten elk matches uit elke groepering voor een van de gevonden matches van de string.
PREG_OFFSET_CAPTURE Het retourneert de overeenkomsten met hun overeenkomstige byte-offsetposities in de onderwerpreeks.
PREG_UNMATCHED_AS_NULL De niet-overeenkomende patronen worden gerapporteerd als NULL.

voorbeeld 1

Beschouw het volgende voorbeeld van het gebruik van de preg_match_all() functie in PHP. In deze code zoeken we naar het woord Linux in de snaar. Deze functie voert het aantal gevonden overeenkomsten met het woord uit Linux :





$tekenreeks = 'Hallo Linux-enthousiastelingen, welkom bij LinuxHint!' ;

$ patroon = '/Linux/' ;

$ komt overeen = reeks ( ) ;

preg_match_all ( $ patroon , $tekenreeks , $ komt overeen ) ;

afdrukken_r ( $ komt overeen [ 0 ] ) ;

?>





Voorbeeld 2

In deze voorbeeldcode zoeken we naar het woord E in de tekenreeks. De kleine i wordt gebruikt om de zoekopdracht hoofdletterongevoelig te maken. Het zal alle tekenreeksverschijningen van het woord E of e retourneren:



$tekenreeks = 'WELKOM IN DE VS.' ;

$patroonRex = '/E/i' ;

$matchgevonden = preg_match_all ( $patroonRex , $tekenreeks , $ komt overeen ) ;

als ( $matchgevonden ) {

echo '' ;

afdrukken_r ( $ komt overeen ) ;

}

?>



Voorbeeld 3

Als het patroon waarnaar u zoekt niet aanwezig is in de tekenreeks, retourneert de functie false, wat een fout aangeeft. Om hiermee om te gaan, kunt u if-else-statements gebruiken. Als het patroon niet wordt gevonden, kunt u een bericht afdrukken met behulp van de instructie else om de gebruiker te informeren dat het patroon niet is gevonden.



$tekenreeks = 'PHP is een populaire scripttaal' ;

$patroonRex = '/plas/' ;

$matchgevonden = preg_match_all ( $patroonRex , $tekenreeks , $ komt overeen ) ;

als ( $matchgevonden ) {

echo '' ;

echo 'Overeenkomst gevonden.' ;

afdrukken_r ( $ komt overeen ) ;

} anders {

echo 'Geen overeenkomst gevonden.' ;

}

?>

Opmerking : De tag in de bovenstaande code wordt gebruikt om de uitvoer te formatteren.

Het komt erop neer

Reguliere expressies zijn een krachtige tool voor het zoeken en manipuleren van tekst in PHP. De preg_match_all() function is een ingebouwde PHP-functie die wordt gebruikt om een ​​reguliere expressie-overeenkomst uit te voeren met een tekenreeks en alle exemplaren van het patroon op te halen. Als het patroon niet bestaat, wordt false geretourneerd. Het begrijpen van de preg_match_all() functie zal gebruikers helpen om tekstgegevens in PHP beter te verwerken en te verwerken.