PHP regulārā izteiksme / regulārā izteiksme: preg_match () - preg_replace ()

Satura rādītājs:

Anonim

Kas ir regulārā izteiksme PHP?

PHP regulārā izteiksme, kas pazīstama arī kā regex, ir spēcīgs modeļu saskaņošanas algoritms, ko var veikt vienā izteiksmē. Lai izveidotu sarežģītas izteiksmes, parastās izteiksmes izmanto tādus aritmētiskos operatorus kā (+, -, ^). Tie var palīdzēt jums veikt tādus uzdevumus kā e-pasta adreses, IP adreses utt.

Kāpēc lietot regulāros izteicienus

  • PHP Regulārās izteiksmes vienkāršo virkņu datu modeļu identificēšanu, izsaucot vienu funkciju. Tas ietaupa mūs kodēšanas laikā.
  • Apstiprinot lietotāja ievadi, piemēram, e-pasta adresi, domēna vārdus, tālruņa numurus, IP adreses,
  • Atslēgvārdu izcelšana meklēšanas rezultātos
  • Veidojot pielāgotu HTML veidni. Regex PHP var izmantot, lai identificētu veidņu tagus un aizstātu tos ar faktiskajiem datiem.

Šajā PHP Regex apmācībā jūs uzzināsiet:

  • Iebūvētas regulārās izteiksmes funkcijas PHP
  • PHP Preg_match ()
  • PHP Preg_split ()
  • PHP Preg_replace ()
  • Regulāras izteiksmes metarakstiņi
  • Paskaidrojot modeli

Iebūvētas regulārās izteiksmes funkcijas PHP

PHP ir iebūvētas funkcijas, kas ļauj mums strādāt ar parastajām funkcijām, kuras mēs iemācīsimies šajā PHP regulāro izteiksmju apmācībā. Apskatīsim PHP parasti lietotās regulārās izteiksmes funkcijas.

  • preg_match () PHP - šī funkcija tiek izmantota, lai virknes saskaņošanu veiktu PHP. Atgriež patiesu, ja tiek atrasta atbilstība, un nepatiesu, ja neatbilstība netiek atrasta.
  • preg_split () PHP - šī funkcija tiek izmantota, lai veiktu virknes parauga atbilstību un pēc tam sadalītu rezultātus skaitliskā masīvā
  • preg_replace () PHP - šī funkcija tiek izmantota, lai veiktu virknes parauga atbilstību un pēc tam aizstātu spēli ar norādīto tekstu.

Zemāk ir parastas izteiksmes funkcijas, piemēram, PHP preg_match (), PHP preg_split () vai PHP preg_replace () sintakse.

ŠEIT,

  • "function_name (…)" ir vai nu PHP preg_match (), PHP preg_split () vai PHP preg_replace ().
  • "/… /" Ar slīpsvītru uz priekšu apzīmē mūsu PHP regex testera funkcijas sākumu un beigas
  • "" / modelis / "" ir modelis, kas mums jāsaskaņo
  • "tēma" ir teksta virkne, pret kuru jāsaskaņo

Apskatīsim praktiskus piemērus, kas ievieš iepriekš minētās PHP regex funkcijas.

PHP Preg_match ()

Pirmajā piemērā PHP funkcijā tiek izmantota preg_match (), lai veiktu vienkāršu raksta atbilstību vārdam guru dotajā URL.

Zemāk redzamais kods parāda iepriekšminētā piemēra testētāja funkcijas preg_match () ieviešanu.

Pārlūkojiet līdz vietrādim URL http: //localhost/phptuts/preg_match_simple.php

Pārbaudīsim koda daļu, kas ir atbildīga par mūsu izvadi "preg_match ('/ guru /', $ my_url)" ŠEIT,

  • "preg_match (…)" ir PHP regex funkcija
  • "'/ guru /'" ir regulārās izteiksmes modelis, kas jāsaskaņo
  • "$ my_url" ir mainīgais, kas satur tekstu, kuram jāsaskaņo.

Zemāk redzamajā diagrammā ir apkopoti iepriekš minētie punkti

PHP Preg_split ()

Apskatīsim vēl vienu piemēru, kas PHP funkcijā izmanto preg_split ().

Mēs paņemsim virknes frāzi un eksplodēsim to masīvā; saskaņojamais raksts ir viena atstarpe.

Šajā piemērā izmantojamā teksta virkne ir "I Love Regular Expressions".

Zemāk redzamais kods ilustrē iepriekš minētā piemēra ieviešanu.

Pārlūkojiet līdz vietrādim URL http: //localhost/phptuts/preg_split.php

PHP Preg_replace ()

Apskatīsim PHP funkcijas preg_replace (), kas veic parauga atbilstību un pēc tam aizstāj modeli ar kaut ko citu.

Zemāk esošajā kodā virknē tiek meklēts vārds guru.

Tas aizstāj vārdu guru ar vārdu guru, ko ieskauj css kods, kas izceļ fona krāsu.

Pieņemot, ka esat saglabājis failu preg_replace.php, pārlūku URL: http: //localhost/phptuts/preg_replace.php

Regulāras izteiksmes metarakstiņi

Iepriekš minētajos piemēros tika izmantoti ļoti pamata modeļi; metaraksti vienkārši ļauj mums veikt sarežģītākas modeļu atbilstības, piemēram, pārbaudīt e-pasta adreses derīgumu. Tagad aplūkosim parasti lietotās metaromas.

Metacharacter Apraksts Piemērs
. Atbilst jebkurai atsevišķai rakstzīmei, izņemot jaunu rindu /./ atbilst visam, kam ir viens raksturs
^ Atbilst rakstzīmju sākumam vai virknei / izslēdz rakstzīmes / PH / atbilst jebkurai virknei, kas sākas ar PH
$ Saskaņo rakstu virknes beigās / com $ / atbilst guru99.com, yahoo.com utt.
* Atbilst jebkurai nullei (0) vai vairāk rakstzīmēm / com * / atbilst datoram, sakariem utt.
+ Nepieciešams, lai iepriekšējās rakstzīmes tiktu parādītas vismaz vienu reizi / yah + oo / sakrīt ar yahoo
\ Izmanto, lai izvairītos no meta rakstzīmēm /yahoo+\.com/ punkts tiek uzskatīts par burtisku vērtību
[…] Rakstzīmju klase / [abc] / atbilst abc
az Sakrīt ar mazajiem burtiem / az / atbilst forši, laimīgi utt.
AZ Sakrīt ar lielajiem burtiem / AZ / atbilst KAS, KĀ, KĀPĒC utt.
0-9 Atbilst jebkuram skaitlim no 0 līdz 9 / 0-4 / atbilst 0,1,2,3,4

Iepriekš minētajā sarakstā parastajās izteiksmēs ir norādītas tikai visbiežāk izmantotās metahomas.

Tagad aplūkosim diezgan sarežģītu piemēru, kas pārbauda e-pasta adreses derīgumu.

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

ŠEIT,

  • "" /… / "" Sāk un beidz regulāro izteiksmi
  • "[a-zA-Z0-9 ._-]" sakrīt ar mazajiem vai lielajiem burtiem, skaitļiem no 0 līdz 9 un punktiem, pasvītrām vai domuzīmēm.
  • "+ @ [a-zA-Z0-9-]" atbilst simbolam @, kam seko mazie vai lielie burti, skaitļi no 0 līdz 9 vai domuzīmes.
  • "+ \. [a-zA-Z.] {2,5} $ /" aizbēg no punkta, izmantojot slīpsvītru, pēc tam atbilst visiem mazajiem vai lielajiem burtiem, kuru rakstzīmes garums ir no 2 līdz 5 virknes beigās.

Pārlūkojiet līdz vietrādim URL http: //localhost/phptuts/preg_match.php

Kā redzat no iepriekš minētā iedalījuma piemēra, metaraksti ir ļoti spēcīgi, ja runa ir par modeļu saskaņošanu.

Kopsavilkums

  • Regulārā izteiksme vai regulārā izteiksme PHP ir modeļu atbilstības algoritms
  • Regulārās izteiksmes ir ļoti noderīgas, veicot pārbaudes, veidojot HTML veidņu sistēmas, kas atpazīst tagus utt.
  • PHP ir iebūvētas funkcijas, proti, PHP preg_match (), PHP preg_split () un PHP preg_replace (), kas atbalsta regulāras izteiksmes.
  • Metaraksti ļauj mums izveidot sarežģītus modeļus