Kaj je regularni izraz v PHP?
Regularni izraz PHP, znan tudi kot regularni izraz, je zmogljiv algoritem za ujemanje vzorcev, ki ga je mogoče izvesti v enem izrazu. Regularni izrazi uporabljajo aritmetične operatorje, kot je (+, -, ^), da ustvarijo kompleksne izraze. Pomagajo vam lahko pri izpolnjevanju nalog, kot so preverjanje e-poštnih naslovov, naslovov IP itd.
Zakaj uporabljati regularne izraze
- Regularni izrazi PHP poenostavijo prepoznavanje vzorcev v podatkih niza s klicanjem ene same funkcije. To nam prihrani čas kodiranja.
- Pri preverjanju uporabniškega vnosa, kot so e-poštni naslov, imena domen, telefonske številke, naslovi IP,
- Označevanje ključnih besed v rezultatih iskanja
- Pri ustvarjanju predloge HTML po meri. Regex v PHP lahko uporabite za prepoznavanje oznak predloge in njihovo nadomestitev z dejanskimi podatki.
V tej vadnici PHP Regex boste izvedeli:
- Vgrajene funkcije regularnih izrazov v PHP
- PHP Preg_match ()
- PHP Preg_split ()
- PHP Preg_replace ()
- Metaznaki z regularnim izrazom
- Pojasnilo vzorca
Vgrajene funkcije regularnih izrazov v PHP
PHP ima vgrajene funkcije, ki nam omogočajo delo z običajnimi funkcijami, ki se jih bomo naučili v tej vadnici o regularnih izrazih PHP. Poglejmo si pogosto uporabljene funkcije regularnih izrazov v PHP.
- preg_match () v PHP - ta funkcija se uporablja za ujemanje vzorcev v PHP v nizu. Vrne true, če je ujemanje najdeno, in false, če ujemanje ni najdeno.
- preg_split () v PHP - ta funkcija se uporablja za ujemanje vzorca na nizu in nato razdeli rezultate v številsko matriko
- preg_replace () v PHP - ta funkcija se uporablja za izvedbo ujemanja vzorca na nizu in nato ujemanje nadomesti z določenim besedilom.
Spodaj je sintaksa funkcije regularnega izraza, kot je PHP preg_match (), PHP preg_split () ali PHP preg_replace ().
TUKAJ,
- "ime_funkcije (...)" je bodisi PHP preg_match (), PHP preg_split () ali PHP preg_replace ().
- "/ ... /" Poševnice naprej označujejo začetek in konec funkcije preizkuševalca regularnih izrazov PHP
- "'/ pattern /'" je vzorec, s katerim se moramo ujemati
- "subject" je besedilni niz, s katerim se ujema
Oglejmo si zdaj praktične primere, ki izvajajo zgornje funkcije regularnih izrazov PHP.
PHP Preg_match ()
Prvi primer uporablja funkcijo preg_match () v funkciji PHP, da izvede preprosto ujemanje vzorca za besedo guru v danem URL-ju.
Spodnja koda prikazuje izvajanje funkcije preizkuševalca preg_match () za zgornji primer.
Poiščite URL http: //localhost/phptuts/preg_match_simple.php
Preučimo del kode, ki je odgovoren za naš izhod "preg_match ('/ guru /', $ my_url)" TUKAJ,
- "preg_match (...)" je funkcija regularnega izraza PHP
- "'/ guru /'" je vzorec regularnega izraza, ki se ujema
- "$ my_url" je spremenljivka, ki vsebuje besedilo, s katerim je primerljivo.
Spodnji diagram povzema zgornje točke
PHP Preg_split ()
Poglejmo si zdaj še en primer, ki uporablja funkcijo preg_split () v funkciji PHP.
Vzeli bomo niz besedne zveze in ga raznesli v matriko; vzorec, ki se ujema, je en sam presledek.
Besedilni niz, ki bo uporabljen v tem primeru, je "I Love Regular Expressions".
Spodnja koda prikazuje izvajanje zgornjega primera.
Poiščite URL http: //localhost/phptuts/preg_split.php
PHP Preg_replace ()
Poglejmo zdaj preg_replace () v funkciji PHP, ki izvede ujemanje vzorca in nato vzorec nadomesti z nečim drugim.
Spodnja koda išče besedo guru v nizu.
Besedo guru nadomesti z besedo guru, obdano s kodo css, ki poudarja barvo ozadja.
Ob predpostavki, da ste datoteko shranili preg_replace.php, brskalnik poiščite na URL http: //localhost/phptuts/preg_replace.php
Metaznaki z regularnim izrazom
Zgornji primeri so uporabili zelo osnovne vzorce; metaznaki nam preprosto omogočajo izvedbo bolj zapletenih ujemanj vzorcev, na primer preizkus veljavnosti e-poštnega naslova. Poglejmo si zdaj pogosto uporabljene metaznake.
Metaznak | Opis | Primer |
---|---|---|
. | Ujema se s katerim koli znakom, razen z novo vrstico | /./ se ujema z vsem, kar ima en sam znak |
^ | Ujema se z začetkom ali nizom / izključuje znake | / PH / se ujema s katerim koli nizom, ki se začne s PH |
$ | Ujema se z vzorcem na koncu niza | / com $ / se ujema z guru99.com, yahoo.com itd. |
* | Ujema se s poljubno nič (0) ali več znaki | / com * / se ujema z računalnikom, komunikacijo itd. |
+ | Zahteva, da se predhodni znaki pojavijo vsaj enkrat | / yah + oo / se ujema z yahoo |
\ | Uporablja se za pobeg od metaznakov | /yahoo+\.com/ piko obravnava kot dobesedno vrednost |
[…] | Razred znakov | / [abc] / se ujema s abc |
az | Ujema se z malimi črkami | / az / se ujema s kul, vesel itd. |
AZ | Ujema se z velikimi črkami | / AZ / se ujema s KAJ, KAKO, ZAKAJ itd. |
0-9 | Ujema se s poljubnim številom med 0 in 9 | / 0-4 / tekme 0,1,2,3,4 |
Zgornji seznam vsebuje samo najpogosteje uporabljene metaznake v regularnih izrazih.
Poglejmo zdaj dokaj zapleten primer, ki preverja veljavnost e-poštnega naslova.
Pojasnilo vzorca "[/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/] "
TUKAJ,
- "'/ ... /'" začne in konča regularni izraz
- "[a-zA-Z0-9 ._-]" se ujema z vsemi malimi ali velikimi črkami, številkami med 0 in 9 ter pikami, podčrtaji ali pomišljaji.
- "+ @ [a-zA-Z0-9-]" se ujema s simbolom @, ki mu sledijo male ali velike črke, številke med 0 in 9 ali pomišljaji.
- "+ \. [a-zA-Z.] {2,5} $ /" pobegne iz pike z uporabo poševnice nazaj, nato pa se ujema z vsemi malimi ali velikimi črkami z dolžino znaka med 2 in 5 na koncu niza.
Poiščite URL http: //localhost/phptuts/preg_match.php
Kot lahko vidite iz zgornje razčlenitve, so metaznaki zelo močni, ko gre za ujemanje vzorcev.
Povzetek
- Regularni izraz ali regularni izraz v PHP je algoritem za ujemanje vzorcev
- Regularni izrazi so zelo uporabni pri preverjanju veljavnosti, ustvarjanju sistemov predloge HTML, ki prepoznajo oznake itd.
- PHP ima vgrajene funkcije, in sicer PHP preg_match (), PHP preg_split () in PHP preg_replace (), ki podpirajo regularne izraze.
- Metaznaki nam omogočajo ustvarjanje zapletenih vzorcev