PHP regulaaravaldis / regex: preg_match () - preg_replace ()

Lang L: none (table-of-contents):

Anonim

Mis on regulaarne väljend PHP-s?

PHP regulaaravaldis, tuntud ka kui regex, on võimas mustrite sobitamise algoritm, mida saab teostada ühes avaldises. Regulaaravaldised kasutavad keerukate avaldiste loomiseks aritmeetilisi operaatoreid nagu (+, -, ^). Need võivad aidata teil täita selliseid ülesandeid nagu e-posti aadresside, IP-aadresside jms kinnitamine.

Miks kasutada regulaaravaldisi

  • PHP Regulaaravaldised lihtsustavad stringiandmetes mustrite tuvastamist, kutsudes ühe funktsiooni. See säästab kodeerimisaega.
  • Kasutaja sisendi, näiteks e-posti aadressi, domeeninimede, telefoninumbrite, IP-aadresside,
  • Märksõnade esiletõstmine otsingutulemites
  • Kohandatud HTML-malli loomisel. Regexi PHP-s saab kasutada mallide siltide tuvastamiseks ja nende asendamiseks tegelike andmetega.

Selles PHP Regexi õpetuses saate teada:

  • Sisseehitatud regulaaravaldise funktsioonid PHP-s
  • PHP Preg_match ()
  • PHP Preg_split ()
  • PHP Preg_replace ()
  • Regulaaravaldise metamärgid
  • Mustri selgitamine

Sisseehitatud regulaaravaldise funktsioonid PHP-s

PHP-s on sisse ehitatud funktsioonid, mis võimaldavad meil töötada tavaliste funktsioonidega, mida õpime selles PHP regulaaravaldiste õpetuses. Vaatame PHP-s tavaliselt kasutatavaid regulaaravaldise funktsioone.

  • preg_match () PHP-s - seda funktsiooni kasutatakse stringi mustrite sobitamiseks PHP-s. See tagastab tõene, kui vaste leitakse, ja vale, kui vastet ei leita.
  • preg_split () PHP-s - seda funktsiooni kasutatakse stringi mustrivastuse teostamiseks ja tulemuste jagamiseks numbriliseks massiiviks
  • preg_replace () PHP-s - seda funktsiooni kasutatakse stringi mustrivaste täitmiseks ja seejärel vaste asendamiseks määratud tekstiga.

Allpool on regulaaravaldise funktsiooni nagu PHP preg_match (), PHP preg_split () või PHP preg_replace () süntaks.

SIIN,

  • "function_name (…)" on kas PHP preg_match (), PHP preg_split () või PHP preg_replace ().
  • "/… /" Kaldkriipsud tähistavad meie PHP regex-testija funktsiooni algust ja lõppu
  • "" / muster / "" on muster, mille peame sobitama
  • "subjekt" on tekstistring, millega sobitada

Vaatame nüüd praktilisi näiteid, mis rakendavad ülaltoodud PHP regex-funktsioone.

PHP Preg_match ()

Esimene näide kasutab PHP-funktsioonis preg_match (), et teostada antud URL-is sõna guru lihtsat mustrivastet.

Allolev kood näitab ülaltoodud näite testija funktsiooni preg_match () rakendamist.

Sirvige URL-i http: //localhost/phptuts/preg_match_simple.php

Vaatame koodi osa, mis vastutab meie väljundi "preg_match ('/ guru /', $ my_url)" eest SIIN,

  • "preg_match (…)" on PHP regex-funktsioon
  • "'/ guru /'" on regulaaravaldise muster, mis sobib
  • "$ my_url" on muutuja, mis sisaldab sobitatavat teksti.

Allpool olev skeem võtab kokku ülaltoodud punktid

PHP Preg_split ()

Vaatame nüüd veel ühte näidet, mis kasutab funktsiooni preg_split () PHP-s.

Võtame stringi fraasi ja plahvatame selle massiiviks; sobitatav muster on üks tühik.

Selles näites kasutatav tekstistring on "Ma armastan regulaaravaldisi".

Allolev kood illustreerib ülaltoodud näite rakendamist.

Sirvige URL-i http: //localhost/phptuts/preg_split.php

PHP Preg_replace ()

Vaatame nüüd PHP funktsiooni preg_replace (), mis täidab mustri vaste ja asendab mustri millegi muuga.

Allolev kood otsib stringis sõna guru.

See asendab sõna guru sõnaga guru, mida ümbritseb taustavärvi esile tõstev css-kood.

Eeldades, et olete salvestanud faili preg_replace.php, brauseri URL-i http: //localhost/phptuts/preg_replace.php

Regulaaravaldise metamärgid

Ülaltoodud näidetes kasutati väga põhilisi mustreid; metamärgid võimaldavad meil lihtsalt teha keerulisemaid mustrivasteid, näiteks testida e-posti aadressi kehtivust. Vaatame nüüd tavaliselt kasutatavaid metamärke.

Metakarakter Kirjeldus Näide
. Sobib ükskõik millise tähemärgiga, välja arvatud uus rida /./ sobib kõigega, millel on üks märk
^ Sobib tähemärgi alguse või stringiga / välistab / PH / sobib mis tahes stringiga, mis algab PH-ga
$ Vastab stringi lõpus olevale mustrile / com $ / sobib guru99.com, yahoo.com jne
* Sobib mis tahes nulli (0) või rohkemaga / com * / sobib arvuti, side jne
+ Nõuab, et eelnevad tähemärgid ilmuksid vähemalt üks kord / yah + oo / sobib yahoo
\ Kasutatakse metakangelaste eest põgenemiseks /yahoo+\.com/ käsitleb punkti sõnasõnalise väärtusena
[…] Iseloomuklass / [abc] / vastab abc-le
az Sobib väiketähtedega / az / sobib lahedaks, õnnelikuks jne.
AZ Vastab suurtähtedele / AZ / sobib MIS, KUIDAS, MIKS jne.
0–9 Sobib mis tahes arvuga vahemikus 0 kuni 9 / 0-4 / vastab 0,1,2,3,4

Ülaltoodud loendis on toodud ainult regulaaravaldistes kõige sagedamini kasutatavad metamärgid.

Vaatame nüüd üsna keerukat näidet, mis kontrollib e-posti aadressi kehtivust.

Malli "[/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/] selgitamine "

SIIN,

  • "" /… / "" Alustab ja lõpetab regulaaravaldise
  • "[a-zA-Z0-9 ._-]" sobib mis tahes väikeste või väikeste tähtedega, numbritega vahemikus 0–9 ning punktide, alakriipsude või kriipsudega.
  • "+ @ [a-zA-Z0-9-]" sobib sümboliga @, millele järgnevad väikesed või suured tähed, numbrid vahemikus 0 kuni 9 või kriipsud.
  • "+ \. [a-zA-Z.] {2,5} $ /" põgeneb täppist tagasilöögi abil, seejärel sobib mis tahes väikeste või väikeste tähtedega, mille tähe pikkus on vahemikus 2 kuni 5.

Sirvige URL-i http: //localhost/phptuts/preg_match.php

Nagu ülaltoodud jaotise näite põhjal näha, on metamärgid mustrite sobitamisel väga võimsad.

Kokkuvõte

  • Regulaarne avaldis või regex PHP-s on mustrivastamise algoritm
  • Regulaaravaldised on väga kasulikud valideerimiskontrollide läbiviimisel, HTML-i mallisüsteemide loomisel, mis tuvastavad silte jne
  • PHP-s on sisse ehitatud funktsioonid, nimelt PHP preg_match (), PHP preg_split () ja PHP preg_replace (), mis toetavad regulaaravaldisi.
  • Metamärgid võimaldavad meil luua keerukaid mustreid