Regulárny výraz / regulárny výraz PHP: preg_match () - preg_replace ()

Obsah:

Anonim

Čo je regulárny výraz v PHP?

Regulárny výraz PHP, známy aj ako regulárny výraz, je výkonný algoritmus porovnávania vzorov, ktorý je možné vykonať v jednom výraze. Regulárne výrazy používajú na vytváranie zložitých výrazov aritmetické operátory, ako napríklad (+, -, ^). Môžu vám pomôcť pri vykonávaní úloh, ako je overovanie e-mailových adries, IP adries atď.

Prečo používať regulárne výrazy

  • Regulárne výrazy PHP zjednodušujú identifikáciu vzorov v údajoch reťazcov volaním jednej funkcie. To nám šetrí čas pri programovaní.
  • Pri overovaní vstupov používateľov, ako sú e-mailová adresa, názvy domén, telefónne čísla, adresy IP,
  • Zvýraznenie kľúčových slov vo výsledkoch vyhľadávania
  • Pri vytváraní vlastnej šablóny HTML. Regulárny výraz v jazyku PHP možno použiť na identifikáciu značiek šablón a ich nahradenie aktuálnymi údajmi.

V tomto výučbe PHP Regex sa dozviete:

  • Zabudované funkcie regulárneho výrazu v PHP
  • Preg_match PHP ()
  • PHP Preg_split ()
  • Preg_replace PHP ()
  • Metaznaky s regulárnym výrazom
  • Vysvetlenie vzoru

Zabudované funkcie regulárneho výrazu v PHP

PHP má zabudované funkcie, ktoré nám umožňujú pracovať s bežnými funkciami, ktoré sa naučíme v tomto návode na používanie regulárnych výrazov. Pozrime sa na bežne používané funkcie regulárnych výrazov v PHP.

  • preg_match () v PHP - táto funkcia sa používa na vykonávanie porovnávania vzorov v PHP na reťazci. Vráti hodnotu true, ak sa nájde zhoda, a hodnotu false, ak sa zhoda nenájde.
  • preg_split () v PHP - táto funkcia sa používa na vykonanie zhody vzoru na reťazci a následného rozdelenia výsledkov do číselného poľa.
  • preg_replace () v PHP - táto funkcia sa používa na vykonanie zhody vzoru na reťazci a následné nahradenie zhody zadaným textom.

Ďalej je uvedená syntax pre funkciu regulárneho výrazu, ako je PHP preg_match (), PHP preg_split () alebo PHP preg_replace ().

TU,

  • „názov_funkcie (...)“ je buď PHP preg_match (), PHP preg_split () alebo PHP preg_replace ().
  • „/… /“ Lomítka označujú začiatok a koniec našej testovacej funkcie regexu PHP
  • „„ / vzor / ““ je vzor, ​​ktorý musíme zhodovať
  • „subject“ je textový reťazec, s ktorým sa má porovnávať

Pozrime sa teraz na praktické príklady, ktoré implementujú vyššie uvedené funkcie regexu PHP.

Preg_match PHP ()

Prvý príklad používa funkciu preg_match () vo funkcii PHP na vykonanie jednoduchej zhody vzoru pre slovo guru v danej adrese URL.

Nasledujúci kód ukazuje implementáciu testovacej funkcie preg_match () pre vyššie uvedený príklad.

Prejdite na adresu URL http: //localhost/phptuts/preg_match_simple.php

Preskúmajme časť kódu zodpovednú za náš výstup „preg_match ('/ guru /', $ my_url)“ TU,

  • „preg_match (...)“ je funkcia regexu PHP
  • „„ / guru / ““ je vzor regulárneho výrazu, ktorý sa má zhodovať
  • „$ my_url“ je premenná obsahujúca text, ktorý sa má porovnávať.

Nasledujúca schéma sumarizuje vyššie uvedené body

PHP Preg_split ()

Pozrime sa teraz na ďalší príklad, ktorý používa funkciu preg_split () vo funkcii PHP.

Vezmeme reťazcovú frázu a rozložíme ju na pole; vzor, ​​ktorý sa má zhodovať, je jeden priestor.

Textový reťazec, ktorý sa má použiť v tomto príklade, je „Milujem regulárne výrazy“.

Nasledujúci kód ilustruje implementáciu vyššie uvedeného príkladu.

Prejdite na adresu URL http: //localhost/phptuts/preg_split.php

Preg_replace PHP ()

Pozrime sa teraz na preg_replace () vo funkcii PHP, ktorá vykonáva zhodu vzorov a potom ich nahradí niečím iným.

Kód nižšie vyhľadáva slovo guru v reťazci.

Nahrádza slovo guru slovom guru obklopeným kódom css, ktoré zvýrazňuje farbu pozadia.

Za predpokladu, že ste uložili súbor preg_replace.php, prehľadávač na URL http: //localhost/phptuts/preg_replace.php

Metaznaky s regulárnym výrazom

Vyššie uvedené príklady používali veľmi základné vzory; metaznaky nám jednoducho umožňujú vykonávať zložitejšie zhody vzorov, napríklad testovať platnosť e-mailovej adresy. Pozrime sa teraz na bežne používané metaznaky.

Metacharacter Popis Príklad
. Zhoduje sa s každým jedným znakom okrem nového riadku /./ zodpovedá všetkému, čo má jeden znak
^ Zhoduje sa so začiatkom alebo reťazcom / vylučuje znaky / PH / sa zhoduje s ľubovoľným reťazcom, ktorý začína na PH
$ Zhoduje sa so vzorom na konci reťazca / com $ / zápasy guru99.com, yahoo.com atď.
* Zhoduje sa s ľubovoľným počtom znakov (0) alebo viac / com * / zodpovedá počítaču, komunikácii atď.
+ Vyžaduje sa, aby sa predchádzajúce znaky zobrazili aspoň raz / yah + oo / zodpovedá yahoo
\ Používa sa na útek z metaznakov /yahoo+\.com/ považuje bodku za doslovnú hodnotu
[…] Trieda znakov / [abc] / zodpovedá abc
az Zhoda malých písmen / az / zápasy v pohode, šťastné atď.
AZ Zhoda veľkých písmen / AZ / zodpovedá ČO, AKO, PREČO atď.
0-9 Zhoduje sa s akýmkoľvek číslom od 0 do 9 / 0-4 / zápasy 0,1,2,3,4

Vyššie uvedený zoznam uvádza v regulárnych výrazoch iba najčastejšie používané metaznaky.

Pozrime sa teraz na pomerne zložitý príklad, ktorý kontroluje platnosť e-mailovej adresy.

Vysvetlenie vzoru „[/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/] „

TU,

  • „„ /… / ““ Začína a končí regulárny výraz
  • „[a-zA-Z0-9 ._-]“ sa zhoduje s malými a veľkými písmenami, číslami od 0 do 9 a bodkami, podčiarknutiami alebo pomlčkami.
  • „+ @ [a-zA-Z0-9-]“ sa zhoduje so symbolom @, za ktorým nasledujú malé alebo veľké písmená, číslice od 0 do 9 alebo pomlčky.
  • „+ \. [a-zA-Z.] {2,5} $ /" unikne z bodky pomocou spätnej lomky a potom porovná všetky malé alebo veľké písmená s dĺžkou znaku od 2 do 5 na konci reťazca.

Prejdite na adresu URL http: //localhost/phptuts/preg_match.php

Ako je zrejmé z vyššie uvedeného príkladu rozdelenia, metaznaky sú pri porovnávaní vzorov veľmi silné.

Zhrnutie

  • Regulárny výraz alebo regulárny výraz v PHP je algoritmus zhody vzorov
  • Regulárne výrazy sú veľmi užitočné pri vykonávaní overovacích kontrol, vytváraní systémov šablón HTML, ktoré rozpoznávajú značky atď.
  • PHP má zabudované funkcie, konkrétne PHP preg_match (), PHP preg_split () a PHP preg_replace (), ktoré podporujú regulárne výrazy.
  • Metaznaky nám umožňujú vytvárať zložité vzory