Hur man använder preg_match_all()-funktionen i PHP

Hur Man Anvander Preg Match All Funktionen I Php



preg_match_all() är en inbyggd funktion i PHP som används för att matcha det specifika mönstret i en sträng. Du kan använda den här funktionen för att utföra matchningar med reguljära uttryck och extrahera data från strängar. Det kan spara tid och ansträngning i de fall där du behöver söka efter flera förekomster av ett mönster och används i stor utsträckning i textparsning och dataextraktionsapplikationer av PHP.

Syntax

Följande är syntaxen för att använda preg_match_all i PHP:







preg_match_all ( mönster , inmatning , tändstickor , flaggor , offset )

De preg_match_all accepterar följande parametrar, tre är obligatoriska parametrar och två är valfria:



  • mönster : Det är den obligatoriska parametern; den innehåller det reguljära uttrycket som måste sökas.
  • inmatning : Den andra är också en obligatorisk parameter, eftersom det är strängen där sökningen utförs.
  • tändstickor : Den lagrar utdata i arrayen som innehåller alla matchningar.
  • flaggor : Den beskriver hur sökningen eller matchningsmatrisen är uppbyggd. Det ändrar beteendet för sökningen av funktion. Följande flaggor kan användas:
  • offset : Det är den valfria parametern som anger startpositionen för sökningen.
Flagga Beskrivning
PREG_PATTERN_ORDER Den resulterande arrayen har alla matchningar av en array för varje element i det reguljära uttrycket.
PREG_SET_ORDER Matchningsmatrisens element innehåller var och en matchning från varje gruppering för en av strängens hittade matchningar.
PREG_OFFSET_CAPTURE Den returnerar matchningarna med deras motsvarande byteoffsetpositioner i ämnessträngen.
PREG_UNMATCHED_AS_NULL De omatchade mönstren rapporteras som NULL.

Exempel 1

Tänk på följande exempel på hur du använder preg_match_all() funktion i PHP. I den här koden söker vi efter ordet Linux i snöret. Denna funktion matar ut antalet matchningar som hittats mot ordet Linux :





$string = 'Hej Linux-entusiaster, Välkommen till LinuxHint!' ;

$mönster = '/Linux/' ;

$matcher = array ( ) ;

preg_match_all ( $mönster , $string , $matcher ) ;

print_r ( $matcher [ 0 ] ) ;

?>





Exempel 2

I den här exempelkoden söker vi efter ordet E i strängen. Det lilla i:et används för att göra sökningen skiftlägesokänslig. Det kommer att returnera alla strängförekomster av ordet E eller e:



$string = 'VÄLKOMMEN TILL USA.' ;

$patternRex = '/E/i' ;

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

om ( $matchFound ) {

eko '
'  ; 

print_r ( $matcher ) ;

}

?>



Exempel 3

Om mönstret du söker efter inte finns i strängen kommer funktionen att returnera false, vilket indikerar ett fel. För att hantera detta kan du använda if-else-satser. Om mönstret inte hittas kan du skriva ut ett meddelande med hjälp av else-satsen för att informera användaren om att mönstret inte hittades.



$string = 'PHP är ett populärt skriptspråk' ;

$patternRex = '/kissa/' ;

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

om ( $matchFound ) {

eko '
'  ; 

eko 'Match hittad.' ;

print_r ( $matcher ) ;

} annan {

eko 'Ingen matchning hittad.' ;

}

?>

Notera : Den

   taggen i ovanstående kod används för att formatera utdata.

Slutsats

Reguljära uttryck är ett kraftfullt verktyg för att söka och manipulera text i PHP. De preg_match_all() function är en inbyggd PHP-funktion som används för att utföra en matchning av reguljära uttryck mot en sträng och hämta alla förekomster av mönstret och om mönstret inte finns kommer det att returnera false. Att förstå preg_match_all() funktion kommer att hjälpa användare att bättre hantera och bearbeta textdata i PHP.