Č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