Što je Regularni izraz u PHP-u?
Redovni izrazi PHP-a, poznati i kao regularni izrazi , snažni su algoritam za podudaranje uzoraka koji se može izvesti u jednom izrazu. Regularni izrazi koriste aritmetičke operatore poput (+, -, ^) za stvaranje složenih izraza. Oni vam mogu pomoći u izvršavanju zadataka poput provjere valjanosti adresa e-pošte, IP adrese itd.
Zašto koristiti regularne izraze
- PHP Regularni izrazi pojednostavljuju prepoznavanje obrazaca u podacima niza pozivanjem jedne funkcije. To nam štedi vrijeme za kodiranje.
- Pri provjeri valjanosti korisničkog unosa kao što su adresa e-pošte, imena domena, telefonski brojevi, IP adrese,
- Isticanje ključnih riječi u rezultatima pretraživanja
- Prilikom izrade prilagođenog HTML predloška. Regex u PHP-u može se koristiti za prepoznavanje oznaka predloška i zamjenu stvarnim podacima.
U ovom vodiču za PHP Regex naučit ćete:
- Ugrađene funkcije regularnog izraza u PHP-u
- PHP Preg_match ()
- PHP Preg_split ()
- PHP Preg_replace ()
- Metaznakovi regularnog izraza
- Objašnjavajući obrazac
Ugrađene funkcije regularnog izraza u PHP-u
PHP ima ugrađene funkcije koje nam omogućuju rad s uobičajenim funkcijama, što ćemo naučiti u ovom vodiču za PHP Regular Expressions. Pogledajmo najčešće korištene funkcije regularnih izraza u PHP-u.
- preg_match () u PHP-u - ova se funkcija koristi za podudaranje uzoraka u PHP-u na nizu. Vraća true ako je pronađeno podudaranje i false ako podudaranje nije pronađeno.
- preg_split () u PHP-u - ova se funkcija koristi za izvođenje podudaranja uzorka na nizu, a zatim dijeljenje rezultata u numerički niz
- preg_replace () u PHP-u - ova se funkcija koristi za izvođenje podudaranja uzorka na nizu, a zatim zamjenu podudaranja navedenim tekstom.
Ispod je sintaksa funkcije regularnog izraza kao što je PHP preg_match (), PHP preg_split () ili PHP preg_replace ().
OVDJE,
- "ime_funkcije (...)" je ili PHP preg_match (), PHP preg_split () ili PHP preg_replace ().
- "/ ... /" Kose crte prema naprijed označavaju početak i kraj naše funkcije PHP regex testera
- "'/ pattern /'" je obrazac kojem se moramo podudarati
- "subject" je tekstualni niz s kojim se mora upariti
Pogledajmo sada praktične primjere koji implementiraju gore navedene PHP funkcije regularnog izraza.
PHP Preg_match ()
Prvi primjer koristi preg_match () u PHP funkciji za izvođenje jednostavnog podudaranja uzorka za riječ guru u danom URL-u.
Kôd u nastavku prikazuje implementaciju funkcije ispitivača preg_match () za gornji primjer.
Dođite do URL-a http: //localhost/phptuts/preg_match_simple.php
Ispitajmo dio koda odgovoran za naš izlaz "preg_match ('/ guru /', $ my_url)" OVDJE,
- "preg_match (...)" je PHP funkcija regularnog izraza
- "'/ guru /'" je obrazac regularnog izraza koji se podudara
- "$ my_url" je varijabla koja sadrži tekst s kojim se mora upariti.
Dijagram u nastavku sažima gornje točke
PHP Preg_split ()
Pogledajmo sada još jedan primjer koji koristi preg_split () u PHP funkciji.
Uzet ćemo frazu u nizu i eksplodirati je u niz; obrazac koji se podudara jedan je prostor.
Tekstualni niz koji će se koristiti u ovom primjeru je "Volim regularne izraze".
Donji kod ilustrira provedbu gornjeg primjera.
Dođite do URL-a http: //localhost/phptuts/preg_split.php
PHP Preg_replace ()
Pogledajmo sada preg_replace () u PHP funkciji koja izvodi podudaranje uzorka, a zatim zamjenjuje obrazac nečim drugim.
Kôd u nastavku traži riječ guru u nizu.
Riječ guru zamjenjuje riječju guru okruženu css kodom koji ističe boju pozadine.
Pod pretpostavkom da ste spremili datoteku preg_replace.php, preglednik na URL http: //localhost/phptuts/preg_replace.php
Metaznakovi regularnog izraza
Gornji primjeri koristili su vrlo osnovne obrasce; metaznakovi nam jednostavno omogućuju izvršavanje složenijih podudaranja uzoraka, poput testiranja valjanosti adrese e-pošte. Pogledajmo sada najčešće korištene metakaraktere.
Metaznak | Opis | Primjer |
---|---|---|
. | Odgovara bilo kojem pojedinačnom znaku, osim novom retku | /./ odgovara svemu što ima jedan znak |
^ | Podudara se s početkom ili nizom / isključuje znakove | / PH / odgovara bilo kojem nizu koji započinje s PH |
$ | Podudara se s uzorkom na kraju niza | / com $ / odgovara guru99.com, yahoo.com itd. |
* | Odgovara bilo kojoj nuli (0) ili više znakova | / com * / odgovara računalu, komunikaciji itd. |
+ | Zahtijeva da se prethodni znakovi pojave barem jednom | / yah + oo / odgovara yahoo |
\ | Koristi se za bijeg od meta znakova | /yahoo+\.com/ točku tretira kao doslovnu vrijednost |
[…] | Klasa likova | / [abc] / odgovara abc |
az | Odgovara malim slovima | / az / odgovara cool, sretan itd. |
AZ | Odgovara velikim slovima | / AZ / odgovara ŠTO, KAKO, ZAŠTO itd. |
0-9 | Podudara se s bilo kojim brojem između 0 i 9 | / 0-4 / utakmice 0,1,2,3,4 |
Gornji popis daje samo najčešće korištene metaznakove u regularnim izrazima.
Pogledajmo sada prilično složen primjer koji provjerava valjanost adrese e-pošte.
Objašnjenje obrasca "[/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/] "
OVDJE,
- "'/ ... /'" započinje i završava regularni izraz
- "[a-zA-Z0-9 ._-]" podudara se s malim ili velikim slovima, brojevima između 0 i 9 i točkama, donjim crtama ili crticama.
- "+ @ [a-zA-Z0-9-]" odgovara simbolu @ iza kojeg slijede mala ili velika slova, brojevi između 0 i 9 ili crtice.
- "+ \. [a-zA-Z.] {2,5} $ /" izbjegava točku pomoću stražnje kose crte, a zatim se podudara s malim ili velikim slovima s duljinom znaka između 2 i 5 na kraju niza.
Dođite do URL-a http: //localhost/phptuts/preg_match.php
Kao što možete vidjeti iz gornjeg primjera raščlambe, metaznakovi su vrlo moćni kada je u pitanju podudaranje obrazaca.
Sažetak
- Regularni izraz ili regularni izraz u PHP-u algoritam je podudaranja uzorka
- Regularni izrazi vrlo su korisni pri izvršavanju provjera valjanosti, stvaranju sustava HTML predloška koji prepoznaju oznake itd.
- PHP ima ugrađene funkcije, naime PHP preg_match (), PHP preg_split () i PHP preg_replace () koje podržavaju regularne izraze.
- Metaznakovi nam omogućuju stvaranje složenih obrazaca