Ako používať funkciu preg_match_all() v PHP

Ako Pouzivat Funkciu Preg Match All V Php



preg_match_all() je vstavaná funkcia v PHP používaná na priradenie špecifického vzoru v reťazci. Túto funkciu môžete použiť na vykonávanie zhôd regulárnych výrazov a extrahovanie údajov z reťazcov. Môže ušetriť čas a námahu v prípadoch, keď potrebujete vyhľadať viacero výskytov vzoru a je široko používaný v aplikáciách PHP na analýzu textu a extrakciu údajov.

Syntax

Nasleduje syntax pre použitie preg_match_all v PHP:







preg_match_all ( vzor , vstup , zápasy , vlajky , offset )

The preg_match_all akceptuje nasledujúce parametre, tri sú povinné parametre a dva voliteľné:



  • vzor : Je to povinný parameter; obsahuje regulárny výraz, ktorý je potrebné vyhľadať.
  • vstup : Druhý je tiež povinný parameter, keďže ide o reťazec, v ktorom sa vyhľadávanie vykonáva.
  • zápasy : Uloží výstup do poľa obsahujúceho všetky zhody.
  • vlajky : Popisuje, ako je štruktúrované pole vyhľadávania alebo zhôd. Upravuje správanie pri vyhľadávaní funkcie. Môžu sa použiť nasledujúce príznaky:
  • offset : Je to voliteľný parameter, ktorý určuje počiatočnú pozíciu vyhľadávania.
Vlajka Popis
PREG_PATTERN_ORDER Výsledné pole má všetky zhody poľa pre každý prvok regulárneho výrazu.
PREG_SET_ORDER Každý prvok poľa zhôd obsahuje zhody z každého zoskupenia pre jednu z nájdených zhôd reťazca.
PREG_OFFSET_CAPTURE Vráti zhody s ich zodpovedajúcimi bajtovými offsetovými pozíciami v reťazci predmetu.
PREG_UNMATCHED_AS_NULL Nezhodné vzory sa budú hlásiť ako NULL.

Príklad 1

Zvážte nasledujúci príklad použitia preg_match_all() funkciu v PHP. V tomto kóde hľadáme slovo Linux v reťazci. Táto funkcia zobrazuje počet nájdených zhôd so slovom Linux :





$string = 'Ahojte Linuxoví nadšenci, vitajte v LinuxHint!' ;

$vzor = '/Linux/' ;

$zhoduje sa = pole ( ) ;

preg_match_all ( $vzor , $string , $zhoduje sa ) ;

print_r ( $zhoduje sa [ 0 ] ) ;

?>





Príklad 2

V tomto príklade kódu hľadáme slovo E v reťazci. Malé i sa používa na to, aby vyhľadávanie nerozlišovalo veľké a malé písmená. Vráti všetky výskyty reťazca slova E alebo e:



$string = 'Vitajte v USA.' ;

$patternRex = '/E/i' ;

$matchFound = preg_match_all ( $patternRex , $string , $zhoduje sa ) ;

ak ( $matchFound ) {

ozvena '
'  ; 

print_r ( $zhoduje sa ) ;

}

?>



Príklad 3

Ak sa vzor, ​​ktorý hľadáte, v reťazci nenachádza, funkcia vráti hodnotu false, čo znamená chybu. Na zvládnutie tohto problému môžete použiť príkazy if-else. Ak sa vzor nenájde, môžete vytlačiť správu pomocou príkazu else, aby ste informovali používateľa, že vzor nebol nájdený.



$string = 'PHP je populárny skriptovací jazyk' ;

$patternRex = '/peE/' ;

$matchFound = preg_match_all ( $patternRex , $string , $zhoduje sa ) ;

ak ( $matchFound ) {

ozvena '
'  ; 

ozvena 'Zhoda nájdená.' ;

print_r ( $zhoduje sa ) ;

} inak {

ozvena 'Nenašla sa žiadna zhoda.' ;

}

?>

Poznámka : The značka vo vyššie uvedenom kóde sa používa na formátovanie výstupu.

Spodná čiara

Regulárne výrazy sú mocným nástrojom na vyhľadávanie a manipuláciu s textom v PHP. The preg_match_all() funkcia je vstavaná funkcia PHP, ktorá sa používa na vykonanie zhody regulárneho výrazu s reťazcom a načítanie všetkých výskytov vzoru a ak vzor neexistuje, vráti hodnotu false. Pochopenie preg_match_all() funkcia pomôže používateľom lepšie manipulovať a spracovávať textové dáta v PHP.