preg_match_all() egy beépített függvény a PHP-ben, amely a karakterláncban lévő adott mintához illeszkedik. Ezzel a funkcióval reguláris kifejezés-egyeztetéseket hajthat végre, és adatokat nyerhet ki karakterláncokból. Időt és erőfeszítést takaríthat meg olyan esetekben, amikor egy minta többszörös előfordulását kell keresnie, és széles körben használják a PHP szövegelemző és adatkinyerési alkalmazásaiban.
Szintaxis
A következő a szintaxis a preg_match_all PHP-ben:
preg_match_all ( minta , bemenet , mérkőzések , zászlókat , beszámítás )
A preg_match_all elfogadja a következő paramétereket, három kötelező, kettő pedig nem kötelező:
- minta : Ez a kötelező paraméter; tartalmazza a keresendő reguláris kifejezést.
- bemenet : A második szintén kötelező paraméter, mivel ez az a karakterlánc, amelyben a keresés történik.
- mérkőzések : A kimenetet az összes egyezést tartalmazó tömbben tárolja.
- zászlókat : Leírja, hogy a keresési vagy egyezési tömb hogyan épül fel. Módosítja a függvénykeresés viselkedését. A következő zászlók használhatók:
- beszámítás : Ez az opcionális paraméter, amely meghatározza a keresés kezdőpontját.
Zászló | Leírás |
---|---|
PREG_PATTERN_ORDER | Az eredményül kapott tömb tartalmazza a tömb összes egyezését a reguláris kifejezés minden eleméhez. |
PREG_SET_ORDER | A matches tömb elemei mindegyik csoport egyezését tartalmazzák a karakterlánc egyik talált egyezésére. |
PREG_OFFSET_CAPTURE | Visszaadja az egyezéseket a megfelelő bájteltolási pozíciókkal a tárgyláncban. |
PREG_UNMATCHED_AS_NULL | A páratlan minták NULL-ként jelennek meg. |
1. példa
Tekintsük a következő példát a preg_match_all() függvény PHP-ben. Ebben a kódban a szót keressük Linux a húrban. Ez a függvény a szóra talált egyezések számát adja meg Linux :
$string = 'Kedves Linux-rajongók! Üdvözöljük a LinuxHintben!' ;
$minta = '/Linux/' ;
$gyufa = sor ( ) ;
preg_match_all ( $minta , $string , $gyufa ) ;
print_r ( $gyufa [ 0 ] ) ;
?>
2. példa
Ebben a példakódban az E szót keressük a karakterláncban. A kis i-t arra használják, hogy a keresést érzéketlenné tegye a kis- és nagybetűk között. Visszaadja az E vagy e szó összes előfordulását:
$string = 'Üdvözöljük az USA-ban.' ;
$patternRex = '/E/i' ;
$matchFound = preg_match_all ( $patternRex , $string , $gyufa ) ;
ha ( $matchFound ) {
visszhang '
print_r ( $gyufa ) ;
}
?>
3. példa
Ha a keresett minta nem szerepel a karakterláncban, a függvény false értéket ad vissza, ami hibát jelez. Ennek kezelésére if-else utasításokat használhat. Ha a minta nem található, az else utasítással üzenetet nyomtathat, amely tájékoztatja a felhasználót, hogy a minta nem található.
$string = 'A PHP egy népszerű szkriptnyelv' ;
$patternRex = '/peE/' ;
$matchFound = preg_match_all ( $patternRex , $string , $gyufa ) ;
ha ( $matchFound ) {
visszhang '
visszhang 'Megtalált egyezés.' ;
print_r ( $gyufa ) ;
} más {
visszhang 'Nem található egyezés.' ;
}
?>
jegyzet : A tag a fenti kódban a kimenet formázására szolgál.
Bottom Line
A reguláris kifejezések hatékony eszközt jelentenek a PHP-ben történő kereséshez és szövegkezeléshez. A preg_match_all() A függvény egy beépített PHP függvény, amely reguláris kifejezés-egyeztetés végrehajtására szolgál egy karakterlánc ellen, és lekéri a minta összes előfordulását, és ha a minta nem létezik, false értéket ad vissza. Megértése a preg_match_all() funkció segítségével a felhasználók jobban kezelhetik és feldolgozhatják a szöveges adatokat PHP-ben.