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