PHP reguláris kifejezés / regex: preg_match () - preg_replace ()

Tartalomjegyzék:

Anonim

Mi a rendszeres kifejezés a PHP-ben?

A PHP reguláris kifejezés, más néven regex, hatékony mintamegfelelő algoritmus, amely egyetlen kifejezésben végrehajtható. A rendszeres kifejezések olyan számtani operátorokat használnak, mint a (+, -, ^) összetett kifejezések létrehozásához. Segíthetnek olyan feladatok végrehajtásában, mint az e-mail címek, IP-címek stb.

Miért használjunk reguláris kifejezéseket?

  • A PHP A reguláris kifejezések egyetlen függvény meghívásával egyszerűsítik a karakterlánc-adatok mintáinak azonosítását. Ez időt takarít meg a kódolással.
  • A felhasználói adatok, például e-mail cím, domainnevek, telefonszámok, IP-címek,
  • Kulcsszavak kiemelése a keresési eredmények között
  • Egyéni HTML-sablon létrehozásakor. A PHP-ben található Regex segítségével felismerhetők a sabloncímkék és helyettesíthetők tényleges adatokkal.

Ebben a PHP Regex oktatóanyagban megtudhatja:

  • Beépített szabályos kifejezés funkciók a PHP-ben
  • PHP Preg_match ()
  • PHP Preg_split ()
  • PHP Preg_replace ()
  • Reguláris kifejezés metakarakterei
  • A minta magyarázata

Beépített szabályos kifejezés funkciók a PHP-ben

A PHP olyan funkciókat épített be, amelyek lehetővé teszik számunkra, hogy rendszeres funkciókkal dolgozzunk, amelyeket megtanulunk ebben a PHP Regular Expressions oktatóanyagban. Nézzük meg a PHP-ben gyakran használt reguláris kifejezésfüggvényeket.

  • preg_match () a PHP-ben - ez a függvény a mintaillesztés végrehajtására szolgál a PHP-ben egy karakterláncon. Igaz, ha talál egyezést, és hamis, ha nem talál egyezést.
  • preg_split () a PHP-ben - ez a függvény egy minta egyezésének végrehajtására szolgál egy stringen, majd az eredményeket numerikus tömbre osztja
  • preg_replace () a PHP-ben - ezt a függvényt használjuk egy karakterlánc mintázatának végrehajtására, majd az egyezés helyére a megadott szöveggel.

Az alábbiakban látható egy olyan reguláris kifejezés függvényének szintaxisa, mint a PHP preg_match (), PHP preg_split () vagy a PHP preg_replace ().

ITT,

  • A "function_name (…)" vagy a PHP preg_match (), a PHP preg_split () vagy a PHP preg_replace ().
  • "/… /" Az előre mutató perjelek a PHP regex tesztelő funkciónk kezdetét és végét jelölik
  • A "/ minta / '" az a minta, amelyet illesztenünk kell
  • "subject" az a szöveges karaktersorozat, amellyel egyeztetni kell

Most nézzünk meg olyan gyakorlati példákat, amelyek végrehajtják a fenti PHP regex függvényeket.

PHP Preg_match ()

Az első példa a preg_match () PHP függvényben egyszerű mintaillesztést hajt végre az adott URL-ben található guru szóhoz.

Az alábbi kód a preg_match () tesztelő függvény megvalósítását mutatja a fenti példában.

Keresse meg a http: //localhost/phptuts/preg_match_simple.php URL-t

Vizsgáljuk meg a kód azon részét, amely felelős a "preg_match ('/ guru /', $ my_url)" kimenetünkért ITT,

  • Az "preg_match (…)" a PHP regex függvény
  • A "'/ guru /'" az illesztendő szabályos kifejezésminta
  • A "$ my_url" az a változó, amely az egyeztetendő szöveget tartalmazza.

Az alábbi ábra összefoglalja a fenti pontokat

PHP Preg_split ()

Most nézzünk meg egy másik példát, amely a preg_split () parancsot használja a PHP függvényben.

Fogunk egy karakterlánc-kifejezést, és tömbökké robbanjuk; az illesztendő minta egyetlen szóköz.

Az ebben a példában használt szöveg karaktersorozat: "Szeretem a reguláris kifejezéseket".

Az alábbi kód szemlélteti a fenti példa megvalósítását.

Keresse meg a http: //localhost/phptuts/preg_split.php URL-t

PHP Preg_replace ()

Most nézzük meg a preg_replace () -t a PHP függvényben, amely végrehajt egy minta egyezést, majd lecseréli a mintát valami másra.

Az alábbi kód egy karakterláncban keresi a guru szót.

A guru szót lecseréli a háttér színét kiemelő css kóddal körülvett guru szóra.

Feltételezve, hogy a preg_replace.php fájlt, a böngészőt elmentette a http URL-re : //localhost/phptuts/preg_replace.php

Reguláris kifejezés metakarakterei

A fenti példák nagyon alapvető mintákat használtak; a metakarakterek egyszerűen lehetővé teszik számunkra, hogy bonyolultabb mintaillesztéseket hajtsunk végre, például teszteljük az e-mail cím érvényességét. Most nézzük meg a gyakran használt metakaraktereket.

Metacharacter Leírás Példa
. Bármelyik karakter illeszkedik egy új sor kivételével A /./ egyezéssel megegyezik minden, amelynek egyetlen karaktere van
^ Megfelel a karakterek kezdetének vagy karakterláncának / kizárásának A / PH / bármilyen PH karakterrel kezdődő karakterláncra illeszkedik
$ Megfelel a húr végén található mintának / com $ / mérkőzések guru99.com, yahoo.com stb.
* Bármely nulla (0) vagy annál több karakter egyezése / com * / illeszkedik a számítógéphez, a kommunikációhoz stb.
+ Megköveteli, hogy az előző karakter (ek) legalább egyszer megjelenjen / yah + oo / megfelel a yahoo-nak
\ A metakarakterek elől menekülni használják /yahoo+\.com/ a pontot szó szerinti értékként kezeli
[…] Karakterosztály / [abc] / megfelel az abc-nek
az Egyezik a kisbetűkkel / az / hűvös, boldog stb.
AZ Egyezik a nagybetűkkel / AZ / egyezik MI, HOGYAN, MIÉRT stb.
0–9 Bármely számnak megfelel 0 és 9 között / 0-4 / megfelel 0,1,2,3,4

A fenti lista csak a reguláris kifejezésekben leggyakrabban használt metakaraktereket tartalmazza.

Most nézzünk meg egy meglehetősen összetett példát, amely ellenőrzi az e-mail cím érvényességét.

A "[/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/] minta magyarázata "

ITT,

  • A "'/… /'" elindítja és befejezi a reguláris kifejezést
  • Az "[a-zA-Z0-9 ._-]" egyezik minden kis- vagy nagybetűvel, 0 és 9 közötti számokkal és pontokkal, aláhúzással vagy kötőjelekkel.
  • A "+ @ [a-zA-Z0-9-]" egyezik a @ szimbólummal, amelyet kis- vagy nagybetűk követnek, 0 és 9 közötti számok vagy kötőjelek.
  • A "+ \. [a-zA-Z.] {2,5} $ /" a hátsó perjel használatával elmenekül a ponttól, majd a karakterlánc végén 2 és 5 közötti hosszúságú kis- vagy nagybetűt illeszti.

Keresse meg a http: //localhost/phptuts/preg_match.php URL-t

Amint a fenti példabontásból látható, a metakarakterek nagyon erőteljesek, ha a minták összeillesztéséről van szó.

Összegzés

  • A PHP-ben található reguláris kifejezés vagy regex egy mintaillesztési algoritmus
  • A reguláris kifejezések nagyon hasznosak érvényesítési ellenőrzések végrehajtásakor, HTML-sablonrendszerek létrehozásakor, amelyek felismerik a címkéket stb.
  • A PHP beépített függvényeket nevezetesen a PHP preg_match (), a PHP preg_split () és a PHP preg_replace (), amelyek támogatják a reguláris kifejezéseket.
  • A metakarakterek lehetővé teszik számunkra, hogy összetett mintákat hozzunk létre