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

Kazalo:

Anonim

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