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
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.