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.