Uporaba funkcije preg_match () v PHP

Use Preg_match Function Php



Regularni izraz je poseben vzorec, ki ga lahko uporabite za ujemanje, iskanje in zamenjavo katerega koli določenega niza v besedilnih podatkih. To je močna lastnost katerega koli programskega jezika. Uporablja se predvsem za izvajanje različnih vrst potrditev obrazcev, kot so preverjanje e -pošte, preverjanje oblike telefona, potrditev polj uporabniškega imena in gesla obrazca za prijavo itd. Vsako določeno vsebino besedila lahko iščete in zamenjate z običajnim izrazom vzorec. Imenuje se tudi regex ali RegExp. Za določitev vzorca regexa se uporabljajo različne vrste simbolov.

V PHP za regularni izraz obstaja veliko vgrajenih funkcij. ena od njih je funkcija preg_match (). Ta funkcija se uporablja za ujemanje določenega vzorca v podatkovnih nizih. Kako je mogoče funkcijo preg_match () uporabiti v PHP za izvajanje različnih nalog, je razloženo v tej vadnici.







Sintaksa:

Int oznapačno preg_match (vrvica$ vzorec,vrvica$ subject [, matriko &$ ujema = nič [,int$ zastave = 0 [,int$ offset = 0]]])

Ta funkcija lahko sprejme pet argumentov. Prvi argument, $ vzorec , je obvezna, ki opredeljuje vzorec za ujemanje. Drugi argument, $ subject , je obvezen in vsebuje podatke o nizih, v katerih bo vzorec uporabljen. Tretji argument, $ ujema , ni obvezna in vrne matriko na podlagi ujemanja. Četrti argument, $ zastave , ni obvezna in vsebuje različne vrste vrednosti zastavic, ki temeljijo na ujemanju. Peti argument, $ offset , je neobvezna in se lahko uporabi za določitev začetnega položaja iskanja.



Primer 1: Ujemanje vzorca na velike in male črke

Naslednji primer prikazuje uporabo funkcije preg_match () za ujemanje niza na način, ki razlikuje med malimi in malimi črkami. Ustvarite datoteko PHP z naslednjim skriptom.



Tu se za uporabo v treh funkcijah preg_match () uporabljajo trije vzorci. Prvi vzorec, '/Všeč mi je/', se uporablja za ujemanje niza na velike in male črke. Drugi vzorec, '/Všeč/' , se uporablja za ujemanje niza na velike in male črke. Tretji vzorec, 'Všeč/i' , se uporablja za ujemanje niza na način, ki ne razlikuje med velikimi in malimi črkami. search_pattern () funkcija je v skriptu določena za uporabo funkcije preg_match () za ujemanje in natisne sporočilo na podlagi vrnjene vrednosti te funkcije.







// Določimo besedilo

$ besedilo = 'Všeč mi je PHP. Všeč mi je tudi JavaScript. ';

// Določimo tri vrste vzorcev

$ vzorec1 = '/Všeč mi je/';

$ vzorec 2 = '/všeč/';

$ vzorec 3 = '/Všeč mi je/i';

// Določimo funkcijo za iskanje vzorca v besedilu

funkcijoiskalni_vzorec($ vzorec, $ string)

{

če( preg_match ($ vzorec, $ string))

vrgel ven 'Rezultati iskanja: Ujemanje je najdeno za vzorec -$ vzorec
'
;

drugače

vrgel ven 'Rezultati iskanja: Ujemanje ni najdeno za vzorec -$ vzorec
'
;

}

// Natisnite izvirno besedilo

vrgel ven 'Izvirno besedilo je: $ besedilo
'
;

// Trikrat pokličite funkcijo za tri vzorce

iskalni_vzorec($ vzorec1, $ besedilo);

iskalni_vzorec($ vzorec 2, $ besedilo);

iskalni_vzorec($ vzorec 3, $ besedilo);

?>

Izhod :

Po zagonu skripta s strežnika se prikaže naslednji izhod. Prva vrstica prikazuje besedilo, kjer so iskali vzorce. Druga vrstica prikazuje izhod prvega vzorca. Tretja vrstica prikazuje izhod drugega vzorca. Četrta vrstica prikazuje izhod tretjega vzorca.



Primer 2: potrdite URL

Naslednji primer prikazuje način preverjanja naslova URL s funkcijo preg_match (). Ustvarite datoteko PHP z naslednjim skriptom.

V spremenljivki $ url je za testiranje dodeljena vrednost URL -ja. Niz ‘@^(?: Https: //)? ([^/]+) @I’ se uporablja kot vzorec v funkciji preg_match () za preverjanje, ali je naslov URL veljaven ali ne. Če je veljavno, se natisneta ime gostitelja in ime domene, v nasprotnem primeru se natisne sporočilo o napaki.



// Določite URL

$ url = 'https://www.linuxhint.com';

// Določimo vzorec za preverjanje URL -ja

$ vzorec ='@^(?: https: //)? ([^/]+) @i';

// Preverite, ali je URL veljaven ali ne

če( preg_match ($ vzorec, $ url, $ ujema 1))

{

// Natisnite sporočilo o uspehu

vrgel ven 'URL je veljaven.
'
;

// Natisnemo matriko, ki vsebuje vrednosti ujemanja

vrgel ven 'Vrednosti matrike so:';

print_r ($ ujema 1);

// Pridobite in natisnite vrednost gostitelja

$ host = $ ujema 1[1];

vrgel ven '
Ime gostitelja je:$ host'
;

// Iščite ime domene po vrednosti gostitelja

preg_match ('/[^.-lex.europa.eu+.[^.íritu+$/', $ host, $ ujema 2);

vrgel ven '
Ime domene je:{$ match2 [0]}'
;

}

drugače

{

// Natisnite sporočilo o napaki

vrgel ven 'Neveljaven URL.';

}

?>

Izhod :

Po zagonu skripta s strežnika se prikaže naslednji izhod. Navedeni URL v skriptu je veljaven. Tako izhod prikazuje vrednosti ujemanja $, ime gostitelja URL -ja in ime domene URL -ja.

Primer 3: Iskalni vzorec z vrednostmi zastavice in odmika

Naslednji primer prikazuje uporabo vrednosti zastavice in odmika v funkciji preg_match (). Ustvarite datoteko PHP z naslednjim skriptom.

V scenariju se za tri vrste ujemanja uporabljajo trije vzorci. V prvi funkciji preg_match () se kot vzorec in vrednost zastavice uporablja ‘/(bangla) (desh)/’, PREG_OFFSET_CAPTURE. Vrednosti $ ujema spremenljivka se bo natisnila na podlagi izpisa prve funkcije preg_match (). V drugi funkciji preg_match () se kot vzorec in vrednost zastavice uporablja ‘/(bangla) (veselo)*(desh)/i’, PREG_UNMATCHED_AS_NULL. Če se kateri koli del vzorca ne ujema, bo vrednost NULL shranjena v matriki. Vrednosti $ ujema spremenljivka se bo natisnila na podlagi izpisa druge funkcije preg_match (). V tretji funkciji preg_match () se kot vzorec uporablja „/glad/“, vrednost zastavice, PREG_OFFSET_CAPTURE in 3 kot vrednost odmika. Vrednosti $ ujema spremenljivka se bo natisnila na podlagi izpisa tretje funkcije preg_match ().



// Določimo besedilno vrednost

$ besedilo = 'Bangladeš';

// Določimo tri vrste vzorcev

$ vzorec1 = ' / (bangla) (desh) / i';

$ vzorec 2 = ' / (bangla) (veselo) * (desh) / i';

$ vzorec 3 = '/veselo/';


// Uporaba zastavice PREG_OFFSET_CAPTURE

preg_match ($ vzorec1, $ besedilo, $ ujema,PREG_OFFSET_CAPTURE);

vrgel ven '
';  

print_r ($matches);

echo '

'
;

// Uporaba zastavice PREG_UNMATCHED_AS_NULL

preg_match ($ vzorec 2, $ besedilo, $ ujema,PREG_UNMATCHED_AS_NULL);

vrgel ven '
';  

print_r ($matches);

echo '

'
;

// Uporaba zastavice PREG_OFFSET_CAPTURE in vrednosti odmika

preg_match ($ vzorec 3, $ besedilo, $ ujema,PREG_OFFSET_CAPTURE, 3);

vrgel ven '
';  

print_r ($matches);

echo '
'
;

?>

Izhod :

Po zagonu skripta s strežnika se prikaže naslednji izhod.

Zaključek

V tej vadnici so bile razložene uporabe funkcije preg_match () z uporabo več primerov. Tu so bile prikazane tudi uporabe različnih argumentov te funkcije. Bralci bodo lahko po branju te vadnice pravilno uporabili to funkcijo v svojem skriptu.