Upotreba funkcije preg_match () u PHP -u

Use Preg_match Function Php



Regularni izraz je određeni uzorak koji se može koristiti za uparivanje, pretraživanje i zamjenu bilo kojeg određenog niza u tekstualnim podacima. To je moćna značajka svakog programskog jezika. Uglavnom se koristi za obavljanje različitih vrsta provjera valjanosti obrasca, poput provjere e -pošte, provjere formata telefona, potvrde polja za korisničko ime i zaporku obrasca za prijavu itd. Bilo koji određeni sadržaj teksta može se pretraživati ​​i zamijeniti pomoću regularnog izraza uzorak. Također se naziva regex ili RegExp. Za definiranje regularnog izraza koriste se različite vrste simbola.

Mnoge ugrađene funkcije postoje u PHP-u za regularni izraz. funkcija preg_match () jedna je od njih. Ova se funkcija koristi za usklađivanje određenog uzorka u nizu podataka. Kako se funkcija preg_match () može koristiti u PHP -u ​​za izvršavanje različitih zadataka objašnjeno je u ovom vodiču.





Sintaksa:

Int ililažno preg_match (niz$ uzorak,niz$ subjekt [, nizu &$ podudaranja = null [,int$ zastavice = 0 [,int$ offset = 0]]])

Ova funkcija može uzeti pet argumenata. Prvi argument, $ uzorak , je obavezna, što definira obrazac za usklađivanje. Drugi argument, $ subjekt , je obavezna i sadrži nizove podataka u kojima će se primijeniti uzorak. Treći argument, $ podudaranja , nije obavezno i ​​vraća niz na temelju podudaranja. Četvrti argument, $ zastavice , nije obavezno i ​​sadrži različite vrste vrijednosti zastavice na temelju podudaranja. Peti argument, $ offset , nije obavezno i ​​može se koristiti za definiranje početnog položaja pretraživanja.



Primjer 1: Uskladite uzorak na velika i mala slova i na mala i velika slova

Sljedeći primjer prikazuje upotrebu funkcije preg_match () za podudaranje niza na način koji razlikuje slova i velika i mala slova. Napravite PHP datoteku sa sljedećom skriptom.



Ovdje se koriste tri uzorka za primjenu u tri funkcije preg_match (). Prvi obrazac, '/Kao/', koristi se za usklađivanje niza na velika i mala slova. Drugi obrazac, '/Kao/' , koristi se za usklađivanje niza na velika i mala slova. Treći obrazac, 'Kao ja' , koristi se za usklađivanje niza na način koji ne razlikuje velika i mala slova. search_pattern () funkcija je definirana u skripti za korištenje funkcije preg_match () za podudaranje i ispisuje poruku na temelju vraćene vrijednosti ove funkcije.







// Definiranje teksta

$ text = 'Sviđa mi se PHP. Sviđa mi se i JavaScript. ';

// Definirajte tri vrste uzoraka

$ uzorak1 = '/Kao/';

$ uzorak2 = '/Kao/';

$ uzorak3 = '/Kao ja';

// Definiraj funkciju pretraživanja uzorka u tekstu

funkcijauzorak_pretraživanja($ uzorak, $ string)

{

ako( preg_match ($ uzorak, $ string))

izbaciti 'Rezultat pretrage: Pronađeno je podudaranje za uzorak -$ uzorak
'
;

drugo

izbaciti 'Rezultat pretrage: Podudaranje nije pronađeno za uzorak -$ uzorak
'
;

}

// Ispis izvornog teksta

izbaciti 'Izvorni tekst je: $ text
'
;

// Poziv funkcije tri puta za tri uzorka

uzorak_pretraživanja($ uzorak1, $ text);

uzorak_pretraživanja($ uzorak2, $ text);

uzorak_pretraživanja($ uzorak3, $ text);

?>

Izlaz :

Sljedeći izlaz pojavit će se nakon pokretanja skripte s poslužitelja. Prvi redak prikazuje tekst u kojem su traženi uzorci. Drugi redak prikazuje izlaz prvog uzorka. Treći redak prikazuje izlaz drugog uzorka. Četvrti redak prikazuje izlaz trećeg uzorka.



Primjer 2: Potvrdite URL

Sljedeći primjer prikazuje način provjere URL adrese pomoću funkcije preg_match (). Napravite PHP datoteku sa sljedećom skriptom.

Vrijednost URL -a dodjeljuje se varijabli $ url za testiranje. Niz ‘@^(?: Https: //)? ([^/]+) @I’ koristi se kao uzorak u funkciji preg_match () za provjeru valjanosti URL adrese. Ako je valjano, tada će se ispisati naziv hosta i naziv domene, u protivnom će se ispisati poruka o pogrešci.



// Definirajte URL

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

// Definirajte uzorak za provjeru valjanosti URL -a

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

// Provjerite je li URL ispravan ili ne

ako( preg_match ($ uzorak, $ url, $ podudaranja1))

{

// Ispis poruke uspjeha

izbaciti 'URL je važeći.
'
;

// Ispisuje niz koji sadrži vrijednosti podudaranja

izbaciti 'Vrijednosti niza su:';

print_r ($ podudaranja1);

// Dohvaćanje i ispis vrijednosti hosta

$ domaćin = $ podudaranja1[1];

izbaciti '
Naziv domaćina je:$ domaćin'
;

// Pretražujte naziv domene prema vrijednosti hosta

preg_match ('/[^.-lex.europa.eu+.[^.íritu+$/', $ domaćin, $ utakmica2);

izbaciti '
Naziv domene je:{$ match2 [0]}'
;

}

drugo

{

// Ispis poruke o pogrešci

izbaciti 'Neispravan URL.';

}

?>

Izlaz :

Sljedeći izlaz pojavit će se nakon pokretanja skripte s poslužitelja. Navedeni URL u skripti je važeći. Dakle, izlaz prikazuje vrijednosti $ podudaranja, naziv hosta URL -a i naziv domene URL -a.

Primjer 3: Uzorak pretraživanja s vrijednostima zastavice i pomaka

Sljedeći primjer prikazuje upotrebu zastavica i pomaka u funkciji preg_match (). Napravite PHP datoteku sa sljedećom skriptom.

Tri se uzorka koriste u skripti za tri vrste podudaranja. U prvoj funkciji preg_match () koristi se '/(bangla) (desh)/' kao uzorak i vrijednost zastavice, PREG_OFFSET_CAPTURE. Vrijednosti $ podudaranja varijabla će se ispisati na temelju izlaza prve funkcije preg_match (). U drugoj funkciji preg_match (), '/(bangla) (drago)*(desh)/i', koristi se kao uzorak i vrijednost zastavice, koristi se PREG_UNMATCHED_AS_NULL. Ako se bilo koji dio uzorka ne podudara tada će se NULL vrijednost pohraniti u polje. Vrijednosti $ podudaranja varijabla će se ispisati na temelju rezultata druge funkcije preg_match (). U trećoj funkciji preg_match (), '/glad/' se koristi kao uzorak, koristi se oznaka, PREG_OFFSET_CAPTURE, a 3 se koristi kao vrijednost pomaka. Vrijednosti $ podudaranja varijabla će se ispisati na temelju rezultata treće funkcije preg_match ().



// Definirajte vrijednost teksta

$ text = 'Bangladeš';

// Definirajte tri vrste uzoraka

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

$ uzorak2 = ' / (bangla) (drago) * (desh) / i';

$ uzorak3 = '/radostan/';


// Korištenje zastavice PREG_OFFSET_CAPTURE

preg_match ($ uzorak1, $ text, $ podudaranja,PREG_OFFSET_CAPTURE);

izbaciti '
';  

print_r ($matches);

echo '

'
;

// Korištenje zastavice PREG_UNMATCHED_AS_NULL

preg_match ($ uzorak2, $ text, $ podudaranja,PREG_UNMATCHED_AS_NULL);

izbaciti '
';  

print_r ($matches);

echo '

'
;

// Korištenje zastavice PREG_OFFSET_CAPTURE i vrijednosti pomaka

preg_match ($ uzorak3, $ text, $ podudaranja,PREG_OFFSET_CAPTURE, 3);

izbaciti '
';  

print_r ($matches);

echo '
'
;

?>

Izlaz :

Sljedeći izlaz pojavit će se nakon pokretanja skripte s poslužitelja.

Zaključak

Upotreba funkcije preg_match () objašnjena je u ovom vodiču pomoću više primjera. Ovdje su također prikazane uporabe različitih argumenata ove funkcije. Čitatelji će nakon čitanja ovog vodiča moći pravilno koristiti ovu funkciju u svom skriptu.