Redovni izraz PHP / regularni izraz: preg_match () - preg_replace ()

Sadržaj:

Anonim

Š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