PHP: n säännöllinen lauseke / Regex: preg_match () - preg_replace ()

Sisällysluettelo:

Anonim

Mikä on säännöllinen lauseke PHP: ssä?

PHP: n säännöllinen lauseke, joka tunnetaan myös nimellä regex, on tehokas kuvion sovitusalgoritmi, joka voidaan suorittaa yhdessä lausekkeessa. Säännölliset lausekkeet käyttävät aritmeettisia operaattoreita, kuten (+, -, ^) monimutkaisten lausekkeiden luomiseen. Ne voivat auttaa sinua suorittamaan tehtäviä, kuten sähköpostiosoitteiden, IP-osoitteiden jne. Vahvistamisen.

Miksi käyttää säännöllisiä lausekkeita

  • PHP Säännölliset lausekkeet yksinkertaistavat merkkijonodatan mallien tunnistamista kutsumalla yhden funktion. Tämä säästää koodausta.
  • Vahvistettaessa käyttäjän syötteitä, kuten sähköpostiosoite, verkkotunnus, puhelinnumerot, IP-osoitteet,
  • Korostamalla avainsanoja hakutuloksissa
  • Kun luot mukautettua HTML-mallia. PHP: n regexiä voidaan käyttää tunnistemallien tunnistamiseen ja korvaamiseen todellisilla tiedoilla.

Tässä PHP Regex -oppaassa opit:

  • Sisäänrakennetut säännöllisen lausekkeen toiminnot PHP: ssä
  • PHP Preg_match ()
  • PHP Preg_split ()
  • PHP Preg_replace ()
  • Säännöllisen lausekkeen metamerkit
  • Kuvion selittäminen

Sisäänrakennetut säännöllisen lausekkeen toiminnot PHP: ssä

PHP: ssä on sisäänrakennettuja toimintoja, joiden avulla voimme työskennellä säännöllisten toimintojen kanssa, jotka opimme tässä PHP: n säännöllisten lausekkeiden opetusohjelmassa. Katsotaanpa yleisesti käytettyjä säännöllisen lausekkeen toimintoja PHP: ssä.

  • preg_match () PHP: ssä - tätä toimintoa käytetään suorittamaan kaavojen sovitus PHP: ssä merkkijonolle. Se palauttaa arvon tosi, jos vastaavuus löytyy, ja epätosi, jos vastaavuutta ei löydy.
  • preg_split () PHP: ssä - tätä toimintoa käytetään suorittamaan merkkijonomalli ja jakamaan sitten tulokset numeeriseksi taulukoksi
  • preg_replace () PHP: ssä - tätä toimintoa käytetään suorittamaan merkkijonon mallin täsmäys ja korvaamaan sitten vastaavuus määritetyllä tekstillä.

Alla on säännöllisen lausekkeen funktion, kuten PHP preg_match (), PHP preg_split () tai PHP preg_replace (), syntaksi.

TÄSSÄ,

  • "Funktion_nimi (…)" on joko PHP preg_match (), PHP preg_split () tai PHP preg_replace ().
  • "/… /" Eteenpäin olevat kauttaviivat tarkoittavat PHP: n regex-testaajatoimintamme alkua ja loppua
  • "/ pattern / '" on malli, joka meidän on sovitettava yhteen
  • "aihe" on vastaava tekstimerkkijono

Katsotaan nyt käytännön esimerkkejä, jotka toteuttavat yllä olevat PHP-regex-toiminnot.

PHP Preg_match ()

Ensimmäinen esimerkki käyttää PHP-toiminnossa preg_match () suorittaakseen yksinkertaisen kaavahakemuksen sanalle guru annetussa URL-osoitteessa.

Alla oleva koodi näyttää preg_match () -testintoiminnon toteutuksen yllä olevassa esimerkissä.

Selaa URL-osoitteeseen http: //localhost/phptuts/preg_match_simple.php

Tarkastellaan lähdekoodista "preg_match ('/ guru /', $ my_url)" vastaavaa koodin osaa TÄSTÄ,

  • "preg_match (…)" on PHP-regex-funktio
  • "'/ guru /'" on sovitettava säännöllinen lauseke
  • "$ my_url" on muuttuja, joka sisältää vastaavan tekstin.

Alla olevassa kaaviossa esitetään yhteenveto yllä olevista kohdista

PHP Preg_split ()

Tarkastellaan nyt toista esimerkkiä, joka käyttää preg_split () PHP-toiminnossa.

Otamme merkkijonolauseen ja räjäytämme sen matriisiksi; sovitettava kuvio on yksi välilyönti.

Tässä esimerkissä käytettävä tekstimerkkijono on "Rakastan säännöllisiä lausekkeita".

Alla oleva koodi kuvaa yllä olevan esimerkin toteutusta.

Selaa URL-osoitteeseen http: //localhost/phptuts/preg_split.php

PHP Preg_replace ()

Tarkastellaan nyt PHP-toiminnon preg_replace () -kuvaketta, joka suorittaa kuvion vastaavuuden ja korvaa sitten mallin jollakin muulla.

Alla oleva koodi etsii sanaa guru merkkijonosta.

Se korvaa sanan guru sanalla guru, jota ympäröi taustavärin korostava css-koodi.

Olettaen, että olet tallentanut tiedoston preg_replace.php, selain URL-osoitteeseen http: //localhost/phptuts/preg_replace.php

Säännöllisen lausekkeen metamerkit

Yllä olevissa esimerkeissä käytettiin hyvin perusmalleja; metamerkkien avulla voimme yksinkertaisesti suorittaa monimutkaisempia kaavahakuja, kuten testata sähköpostiosoitteen oikeellisuutta. Katsotaan nyt yleisesti käytettyjä metahahmoja.

Metakarakter Kuvaus Esimerkki
. Vastaa mitä tahansa yksittäistä merkkiä paitsi uuden rivin /./ vastaa mitä tahansa, jolla on yksi merkki
^ Vastaa merkkien alkua tai merkkijonoa / sulkee pois / PH / vastaa mitä tahansa merkkijonoa, joka alkaa PH: llä
$ Vastaa mallia merkkijonon lopussa / com $ / vastaa guru99.com, yahoo.com jne.
* Vastaa mitä tahansa nollaa (0) tai useampaa merkkiä / com * / vastaa tietokonetta, viestintää jne.
+ Edellyttää edeltävien merkkien esiintymistä vähintään kerran / yah + oo / vastaa yahoo
\ Käytetään pakenemaan metahahmoja /yahoo+\.com/ käsittelee pistettä kirjaimellisena arvona
[…] Hahmoluokka / [abc] / vastaa abc: tä
az Vastaa pieniä kirjaimia / az / vastaa hienoa, onnellista jne.
AZ Vastaa isoja kirjaimia / AZ / vastaa MITÄ, MITEN, MIKSI jne.
0-9 Vastaa mitä tahansa lukua välillä 0 ja 9 / 0-4 / vastaa 0,1,2,3,4

Yllä oleva luettelo antaa vain yleisimmin käytetyt säännölliset lausekkeet.

Tarkastellaan nyt melko monimutkaista esimerkkiä, joka tarkistaa sähköpostiosoitteen oikeellisuuden.

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

TÄSSÄ,

  • "/… /" "Aloittaa ja lopettaa säännöllisen lausekkeen
  • "[a-zA-Z0-9 ._-]" vastaa pieniä tai isoja kirjaimia, numeroita 0-9 ja pisteitä, alaviivoja tai viivoja.
  • "+ @ [a-zA-Z0-9-]" vastaa @ -merkkiä, jota seuraavat pienet tai isot kirjaimet, numerot 0-9 tai viivat.
  • "+ \. [a-zA-Z.] {2,5} $ /" pakenee pisteestä palan vinoviivan avulla ja sitten sovittaa kaikki pienet tai isot kirjaimet, joiden merkin pituus on 2-5 merkkijonon lopussa.

Selaa URL-osoitteeseen http: //localhost/phptuts/preg_match.php

Kuten yllä olevasta esimerkkijakaumasta näet, metahahmot ovat erittäin voimakkaita kuvioiden sovittamisessa.

Yhteenveto

  • Säännöllinen lauseke tai Regex PHP: ssä on kuvion vastaavuusalgoritmi
  • Säännölliset lausekkeet ovat erittäin hyödyllisiä, kun suoritetaan validointitarkistuksia, luodaan HTML-mallijärjestelmiä, jotka tunnistavat tunnisteet jne.
  • PHP: ssä on sisäänrakennetut toiminnot, nimittäin PHP preg_match (), PHP preg_split () ja PHP preg_replace (), jotka tukevat säännöllisiä lausekkeita.
  • Metahahmojen avulla voimme luoda monimutkaisia ​​kuvioita