PHP Regular Expression / Regex: preg_match () - preg_replace ()

Indholdsfortegnelse:

Anonim

Hvad er regulært udtryk i PHP?

PHP Regular Expression, også kendt som regex, er en stærk mønstertilpasningsalgoritme, der kan udføres i et enkelt udtryk. Regulære udtryk bruger aritmetiske operatorer som (+, -, ^) til at skabe komplekse udtryk. De kan hjælpe dig med at udføre opgaver såsom validering af e-mail-adresser, IP-adresse osv.

Hvorfor bruge regulære udtryk

  • PHP Regulære udtryk forenkler identificering af mønstre i strengdata ved at kalde en enkelt funktion. Dette sparer os for kodningstid.
  • Ved validering af brugerinput såsom e-mail-adresse, domænenavne, telefonnumre, IP-adresser,
  • Fremhævning af nøgleord i søgeresultaterne
  • Når du opretter en brugerdefineret HTML-skabelon. Regex i PHP kan bruges til at identificere skabelon-tags og erstatte dem med faktiske data.

I denne PHP Regex-tutorial lærer du:

  • Indbygget regulært udtryk Funktioner i PHP
  • PHP Preg_match ()
  • PHP Preg_split ()
  • PHP Preg_replace ()
  • Regelmæssige udtryk-metategn
  • Forklaring af mønsteret

Indbygget regulært udtryk Funktioner i PHP

PHP har indbyggede funktioner, der giver os mulighed for at arbejde med almindelige funktioner, som vi lærer i denne PHP Regular Expressions tutorial. Lad os se på de almindeligt anvendte regulære ekspressionsfunktioner i PHP.

  • preg_match () i PHP - denne funktion bruges til at udføre mønstermatchning i PHP på en streng. Det returnerer sandt, hvis der findes et match og falsk, hvis et match ikke findes.
  • preg_split () i PHP - denne funktion bruges til at udføre et mønstermatch på en streng og derefter opdele resultaterne i et numerisk array
  • preg_replace () i PHP - denne funktion bruges til at udføre et mønstermatch på en streng og derefter erstatte matchet med den angivne tekst.

Nedenfor er syntaksen for en regulær ekspressionsfunktion såsom PHP preg_match (), PHP preg_split () eller PHP preg_replace ().

HER,

  • "funktionsnavn (...)" er enten PHP preg_match (), PHP preg_split () eller PHP preg_replace ().
  • "/ ... /" De skråstreg fremad angiver begyndelsen og slutningen af ​​vores PHP regex-testerfunktion
  • "'/ mønster /'" er det mønster, som vi skal matche
  • "emne" er den tekststreng, der skal matches

Lad os nu se på praktiske eksempler, der implementerer ovenstående PHP regex-funktioner.

PHP Preg_match ()

Det første eksempel bruger preg_match () i PHP-funktionen til at udføre et simpelt mønstermatch for ordet guru i en given URL.

Koden nedenfor viser implementeringen af ​​preg_match () testerfunktionen til ovenstående eksempel.

Gå til URL'en http: //localhost/phptuts/preg_match_simple.php

Lad os undersøge den del af koden, der er ansvarlig for vores output "preg_match ('/ guru /', $ my_url)" HER,

  • "preg_match (...)" er PHP regex-funktionen
  • "'/ guru /'" er det regulære udtryksmønster, der skal matches
  • "$ my_url" er variablen, der indeholder teksten, der skal matches.

Diagrammet nedenfor opsummerer ovenstående punkter

PHP Preg_split ()

Lad os nu se på et andet eksempel, der bruger preg_split () i PHP-funktionen.

Vi tager en streng sætning og eksploderer den i en matrix; det mønster, der skal matches, er et enkelt mellemrum.

Tekststrengen, der skal bruges i dette eksempel, er "I Love Regular Expressions".

Koden nedenfor illustrerer implementeringen af ​​ovenstående eksempel.

Gå til URL'en http: //localhost/phptuts/preg_split.php

PHP Preg_replace ()

Lad os nu se på preg_replace () i PHP-funktionen, der udfører et mønstermatch og derefter erstatter mønsteret med noget andet.

Koden nedenfor søger efter ordet guru i en streng.

Det erstatter ordet guru med ordet guru omgivet af css-kode, der fremhæver baggrundsfarven.

Forudsat at du har gemt filen preg_replace.php, browser til URL'en http: //localhost/phptuts/preg_replace.php

Regelmæssige udtryk-metategn

Ovenstående eksempler brugte meget grundlæggende mønstre; metategn giver os simpelthen mulighed for at udføre mere komplekse mønstermatch som f.eks. at teste gyldigheden af ​​en e-mail-adresse. Lad os nu se på de almindeligt anvendte metategn.

Metakarakter Beskrivelse Eksempel
. Matcher ethvert enkelt tegn undtagen en ny linje /./ matcher alt, hvad der har et enkelt tegn
^ Matcher begyndelsen af ​​eller streng / ekskluderer tegn / PH / matcher enhver streng, der starter med PH
$ Matcher mønster i slutningen af ​​strengen / com $ / matcher guru99.com, yahoo.com Etc.
* Matcher ethvert nul (0) eller flere tegn / com * / matcher computer, kommunikation osv.
+ Kræver foregående tegn vises mindst én gang / yah + oo / matcher yahoo
\ Bruges til at undslippe metategn /yahoo+\.com/ behandler prikken som en bogstavelig værdi
[…] Karakterklasse / [abc] / matcher abc
az Matcher små bogstaver / az / matcher cool, glad osv.
AZ Matcher store bogstaver / AZ / matcher HVAD, HVORDAN, HVORFOR osv.
0-9 Matcher et hvilket som helst tal mellem 0 og 9 / 0-4 / matcher 0,1,2,3,4

Ovenstående liste giver kun de mest anvendte metategn i regulære udtryk.

Lad os nu se på et ret komplekst eksempel, der kontrollerer gyldigheden af ​​en e-mail-adresse.

Forklaring af mønsteret "[/[aa-ZA-Z0-9._- ]+@ [aa-zA-Z0-9-] +\. [Aa-zA-Z.] "

HER,

  • "'/ ... /'" starter og slutter det regulære udtryk
  • "[a-zA-Z0-9 ._-]" matcher alle små eller store bogstaver, tal mellem 0 og 9 og prikker, understregninger eller bindestreger.
  • "+ @ [a-zA-Z0-9-]" matcher @ symbolet efterfulgt af små og store bogstaver, tal mellem 0 og 9 eller bindestreger.
  • "+ \. [a-zA-Z.] {2,5} $ /" undgår prikken ved hjælp af tilbageslag og matcher derefter små eller store bogstaver med en tegnlængde mellem 2 og 5 i slutningen af ​​strengen.

Gå til URL'en http: //localhost/phptuts/preg_match.php

Som du kan se fra ovenstående eksempel, er metategn meget stærke, når det kommer til matchende mønstre.

Resumé

  • Et regulært udtryk eller Regex i PHP er en mønstermatchalgoritme
  • Regulære udtryk er meget nyttige, når der udføres valideringskontrol, oprettelse af HTML-skabelonsystemer, der genkender tags osv.
  • PHP har indbygget funktioner, nemlig PHP preg_match (), PHP preg_split () og PHP preg_replace (), der understøtter regulære udtryk.
  • Metategn giver os mulighed for at skabe komplekse mønstre