PHP reguliarioji išraiška / regex: preg_match () - preg_replace ()

Kas yra reguliarioji išraiška PHP?

PHP reguliarioji išraiška, dar žinoma kaip regex, yra galingas modelių derinimo algoritmas, kurį galima atlikti vienoje išraiškoje. Reguliarios išraiškos sudėtingoms išraiškoms sukurti naudoja aritmetinius operatorius, tokius kaip (+, -, ^). Jie gali padėti jums atlikti tokias užduotis kaip patvirtinti el. Pašto adresus, IP adresus ir kt.

Kodėl verta naudoti įprastus posakius

  • PHP Reguliariosios išraiškos supaprastina eilučių duomenų šablonų identifikavimą iškviesdami vieną funkciją. Tai taupo kodavimo laiką.
  • Patvirtindami vartotojo įvestį, pvz., El. Pašto adresą, domenų vardus, telefono numerius, IP adresus,
  • Raktinių žodžių paryškinimas paieškos rezultatuose
  • Kuriant pasirinktinį HTML šabloną. Regex PHP programoje gali būti naudojamas šablonų žymoms identifikuoti ir pakeisti faktiniais duomenimis.

Šioje „PHP Regex“ pamokoje sužinosite:

  • Įtaisytos reguliariosios išraiškos funkcijos PHP
  • PHP „Preg_match“ ()
  • PHP „Preg_split“ ()
  • PHP Preg_replace ()
  • Reguliariojo reiškinio metafakai
  • Paaiškinti modelį

Įtaisytos reguliariosios išraiškos funkcijos PHP

PHP turi įmontuotas funkcijas, leidžiančias dirbti su įprastomis funkcijomis, kurias sužinosime šioje PHP reguliarių išraiškų pamokoje. Pažvelkime į dažniausiai naudojamas reguliaraus reiškinio funkcijas PHP.

  • preg_match () PHP - ši funkcija naudojama norint atlikti šablono derinimą PHP eilutėje. Tai grąžinama kaip tiesa, jei randama atitiktis, o klaidinga, jei nerandama.
  • preg_split () PHP - ši funkcija naudojama norint atlikti eilutės modelio atitiktį ir tada suskaidyti rezultatus į skaitinę masyvą
  • preg_replace () PHP - ši funkcija naudojama norint atlikti eilutės modelio atitikimą ir tada pakeisti atitikimą nurodytu tekstu.

Žemiau pateikiama reguliarios išraiškos funkcijos, tokios kaip PHP preg_match (), PHP preg_split () arba PHP preg_replace (), sintaksė.


ČIA

  • „Funkcijos_pavadinimas (…)“ yra PHP preg_match (), PHP preg_split () arba PHP preg_replace ().
  • "/… /" Pasvirieji brūkšniai žymi mūsų PHP regex testerio funkcijos pradžią ir pabaigą
  • "/ modelis / '" yra modelis, kurį turime suderinti
  • „tema“ yra teksto eilutė, su kuria reikia suderinti

Pažvelkime į praktinius pavyzdžius, kurie įgyvendina aukščiau nurodytas PHP regex funkcijas.

PHP „Preg_match“ ()

Pirmajame pavyzdyje naudojamas preg_match () PHP funkcijoje, norint atlikti paprastą žodžio guru modelio atitiktį nurodytame URL.

Žemiau pateiktas kodas rodo „preg_match ()“ testerio funkcijos įgyvendinimą aukščiau pateiktame pavyzdyje.


Naršykite iki URL : http: //localhost/phptuts/preg_match_simple.php

Panagrinėkime kodo dalį, atsakingą už mūsų išvestį „preg_match ('/ guru /', $ my_url)“ ČIA,

  • „preg_match (…)“ yra PHP regex funkcija
  • "/ guru / '" yra reguliarios išraiškos modelis, kurį reikia suderinti
  • „$ my_url“ yra kintamasis, kuriame yra suderinamas tekstas.

Žemiau pateiktoje diagramoje apibendrinti pirmiau pateikti punktai

PHP „Preg_split“ ()

Pažvelkime į kitą pavyzdį, kuriame PHP funkcijoje naudojamas preg_split ().

Paimsime eilutės frazę ir susprogdinsime ją į masyvą; derinamas modelis yra vienas tarpas.

Šiame pavyzdyje naudojama teksto eilutė yra „Aš myliu įprastus posakius“.

Žemiau pateiktas kodas parodo aukščiau pateikto pavyzdžio įgyvendinimą.


Naršykite iki URL : http: //localhost/phptuts/preg_split.php

PHP Preg_replace ()

Pažvelkime į PHP funkcijos „preg_replace ()“, kuri atlieka modelio atitiktį ir tada pakeičia modelį kitu.

Žemiau pateiktas kodas ieško žodžio guru eilutėje.

Žodį guru jis pakeičia žodžiu guru, apsuptas css kodu, kuris paryškina fono spalvą.


Darant prielaidą, kad išsaugojote failą preg_replace.php, naršyklę į URL : http: //localhost/phptuts/preg_replace.php

Reguliariojo reiškinio metafakai

Minėtuose pavyzdžiuose buvo naudojami labai pagrindiniai modeliai; metaženklai tiesiog leidžia atlikti sudėtingesnes modelių atitiktis, pavyzdžiui, patikrinti el. pašto adreso pagrįstumą. Pažvelkime į dažniausiai naudojamus metaženklius.

Metacharakteris apibūdinimas Pavyzdys
. Atitinka bet kurį vieną simbolį, išskyrus naują eilutę /./ atitinka viską, kas turi vieną simbolį
^ Atitinka simbolių pradžią arba eilutę / neįtraukia simbolių / PH / atitinka bet kokią eilutę, prasidedančią PH
$ Atitinka modelį eilutės pabaigoje / com $ / atitinka guru99.com, yahoo.com ir kt.
* Atitinka bet kokį nulį (0) ar daugiau simbolių / com * / atitinka kompiuterį, ryšius ir kt.
+ Reikalingas ankstesnis (-i) simbolis (-iai), rodomi bent kartą / yah + oo / atitinka yahoo
\ Naudojamas norint pabėgti nuo metaženklių /yahoo+\.com/ tašką laiko tiesiogine reikšme
[…] Veikėjų klasė / [abc] / atitinka abc
az Atitinka mažąsias raides / az / rungtynės kietos, laimingos ir pan
AZ Atitinka didžiąsias raides / AZ / atitinka KAS, KAIP, KODĖL ir pan.
0–9 Atitinka bet kurį skaičių nuo 0 iki 9 / 0-4 / atitinka 0,1,2,3,4

Aukščiau pateiktame sąraše pateikiami tik dažniausiai naudojami metaženklai reguliariose išraiškose.

Pažvelkime į gana sudėtingą pavyzdį, kuris patikrina el. Pašto adreso galiojimą.

 

Aiškinamas šablonas "[/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/] "

ČIA

  • "" /… / "" Pradeda ir baigia reguliariąją išraišką
  • "[a-zA-Z0-9 ._-]" sutampa su mažosiomis ar didžiosiomis raidėmis, skaičiais nuo 0 iki 9 ir taškais, pabraukimais ar brūkšneliais.
  • „+ @ [a-zA-Z0-9-]“ atitinka simbolį @, po kurio rašomos mažosios arba didžiosios raidės, skaičiai nuo 0 iki 9 arba brūkšneliai.
  • "+ \. [a-zA-Z.] {2,5} $ /" pabėga tašku naudodamas atgalinį pasvirąjį brūkšnį, tada sutampa su bet kuriomis mažosiomis ar didžiosiomis raidėmis, kurių simbolių ilgis yra nuo 2 iki 5 eilutės pabaigoje.

Naršykite iki URL : http: //localhost/phptuts/preg_match.php

Kaip matote iš pirmiau pateikto suskirstymo pavyzdžio, metaženklai yra labai galingi, kai reikia suderinti modelius.

Santrauka

  • Reguliarioji išraiška arba „Regex“ PHP yra modelio atitikimo algoritmas
  • Reguliarūs posakiai yra labai naudingi atliekant tikrinimo patikrinimus, kuriant HTML šablonų sistemas, kurios atpažįsta žymas ir pan.
  • PHP turi įmontuotas funkcijas, būtent PHP preg_match (), PHP preg_split () ir PHP preg_replace (), kurios palaiko reguliarius posakius.
  • Metaženklai leidžia mums sukurti sudėtingus modelius

Įdomios straipsniai...