Jak používat funkci preg_match_all() v PHP

Jak Pouzivat Funkci Preg Match All V Php



preg_match_all() je vestavěná funkce v PHP, která se používá ke spárování konkrétního vzoru v řetězci. Tuto funkci můžete použít k provádění shod regulárních výrazů a extrahování dat z řetězců. Může ušetřit čas a úsilí v případech, kdy potřebujete hledat více výskytů vzoru, a je široce používán v aplikacích PHP pro analýzu textu a extrakci dat.

Syntax

Následuje syntaxe pro použití preg_match_all v PHP:







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

The preg_match_all přijímá následující parametry, tři jsou povinné parametry a dva volitelné:



  • vzor : Je to povinný parametr; obsahuje regulární výraz, který je třeba hledat.
  • vstup : Druhý je také povinný parametr, protože je to řetězec, ve kterém se provádí vyhledávání.
  • zápasy : Uloží výstup do pole obsahujícího všechny shody.
  • vlajky : Popisuje, jak je strukturováno pole hledání nebo shody. Upravuje chování hledání funkce. Lze použít následující příznaky:
  • offset : Je to volitelný parametr, který určuje počáteční pozici vyhledávání.
Vlajka Popis
PREG_PATTERN_ORDER Výsledné pole má všechny shody pole pro každý prvek regulárního výrazu.
PREG_SET_ORDER Každý prvek pole shody obsahuje shody z každého seskupení pro jednu z nalezených shod řetězce.
PREG_OFFSET_CAPTURE Vrátí shody s jejich odpovídajícími pozicemi bajtového offsetu v řetězci předmětu.
PREG_UNMATCHED_AS_NULL Nespárované vzory se budou hlásit jako NULL.

Příklad 1

Zvažte následující příklad použití preg_match_all() funkce v PHP. V tomto kódu hledáme slovo Linux v řetězci. Tato funkce zobrazuje počet nalezených shod se slovem Linux :





$string = 'Ahoj linuxoví nadšenci, vítejte v LinuxHint!' ;

$vzor = '/Linux/' ;

$ odpovídá = pole ( ) ;

preg_match_all ( $vzor , $string , $ odpovídá ) ;

tisk_r ( $ odpovídá [ 0 ] ) ;

?>





Příklad 2

V tomto příkladu kódu hledáme slovo E v řetězci. Malé i se používá k tomu, aby vyhledávání nerozlišovalo malá a velká písmena. Vrátí všechny výskyty řetězců slova E nebo e:



$string = 'VÍTEJTE V USA.' ;

$patternRex = '/E/i' ;

$matchFound = preg_match_all ( $patternRex , $string , $ odpovídá ) ;

-li ( $matchFound ) {

echo '' ;

tisk_r ( $ odpovídá ) ;

}

?>



Příklad 3

Pokud hledaný vzor není v řetězci přítomen, funkce vrátí hodnotu false, což znamená chybu. Chcete-li to zvládnout, můžete použít příkazy if-else. Pokud vzor nebyl nalezen, můžete vytisknout zprávu pomocí příkazu else, abyste informovali uživatele, že vzor nebyl nalezen.



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

$patternRex = '/čurat/' ;

$matchFound = preg_match_all ( $patternRex , $string , $ odpovídá ) ;

-li ( $matchFound ) {

echo '' ;

echo 'Shoda nalezena.' ;

tisk_r ( $ odpovídá ) ;

} jiný {

echo 'Žádná shoda nenalezena.' ;

}

?>

Poznámka : The tag ve výše uvedeném kódu se používá k formátování výstupu.

Sečteno a podtrženo

Regulární výrazy jsou mocným nástrojem pro vyhledávání a manipulaci s textem v PHP. The preg_match_all() funkce je vestavěná funkce PHP, která se používá k provedení shody regulárního výrazu s řetězcem a načtení všech výskytů vzoru, a pokud vzor neexistuje, vrátí hodnotu false. Pochopení preg_match_all() funkce pomůže uživatelům lépe zacházet a zpracovávat textová data v PHP.