php

Upotreba funkcije preg_match () u PHP-u

Upotreba funkcije preg_match () u PHP-u

Regularni izraz je određeni obrazac koji se može koristiti za podudaranje, pretraživanje i zamjenu bilo kojeg određenog niza u tekstualnim podacima. Moćna je značajka bilo kojeg programskog jezika. Uglavnom se koristi za izvršavanje različitih vrsta provjera valjanosti obrazaca, poput provjere valjanosti e-pošte, provjere formata telefona, provjere valjanosti polja za korisničko ime i lozinku u obliku za prijavu itd. Bilo koji određeni sadržaj teksta može se pretraživati ​​i zamijeniti pomoću uzorka regularnog izraza. Također se naziva i regularni izraz ili RegExp. Za definiranje uzorka regularnih izraza koriste se različite vrste simbola.

U PHP-u postoje mnoge ugrađene funkcije za regularni izraz. funkcija preg_match () jedna je od njih. Ova se funkcija koristi za podudaranje određenog uzorka u podacima niza. Kako se funkcija preg_match () može koristiti u PHP-u za obavljanje različitih zadataka, objašnjeno je u ovom vodiču.

Sintaksa:

Int ili false preg_match (string $ pattern, string $ subject [, array & $ matches = null [, int $ flags = 0 [, int $ offset = 0]]])

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

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

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

Ovdje se koriste tri uzorka za primjenu u tri funkcije preg_match (). Prvi obrazac, '/Kao/', koristi se za podudaranje niza na velika i mala slova. Drugi obrazac, '/Kao/', koristi se za podudaranje niza na velika i mala slova. Treći obrazac, 'Kao ja', koristi se za podudaranje niza na mala i mala slova. obrazac_ pretraživanja () funkcija je definirana u skripti za korištenje funkcije preg_match () za podudaranje i ispisuje poruku na temelju vraćene vrijednosti ove funkcije.

// Definiraj tekst
$ text = "Sviđa mi se PHP. Sviđa mi se i JavaScript.";
// Definiraj tri vrste uzorka
$ pattern1 = '/ Sviđa mi se /';
$ pattern2 = '/ like /';
$ pattern3 = '/ Sviđa mi se / i';
// Definiranje funkcije pretraživanja uzorka u tekstu
uzorak_za pretraživanje funkcije ($ uzorak, $ niz)

if (preg_match ($ pattern, $ string))
echo "Rezultat pretraživanja: Pronađeno je podudaranje za obrazac - $ pattern
";
drugo
echo "Rezultat pretraživanja: Nije pronađeno podudaranje za obrazac - $ pattern
";

// Ispis izvornog teksta
echo "Izvorni tekst je: $ tekst
";
// Pozovite funkciju tri puta za tri uzorka
obrazac_traženja ($ pattern1, $ text);
obrazac_traženja ($ pattern2, $ text);
obrazac_traženja ($ pattern3, $ text);
?>

Izlaz:

Sljedeći će se izlaz pojaviti nakon pokretanja skripte s poslužitelja. Prvi redak prikazuje tekst u kojem su pretraž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 pokazuje način provjere valjanosti URL adrese pomoću funkcije preg_match (). Stvorite PHP datoteku sa sljedećom skriptom.

Vrijednost URL-a dodjeljuje se u varijabli $ url za testiranje. '@ ^ (?: https: //)?([^ /] +) @ i 'niz koristi se kao uzorak u funkciji preg_match () za provjeru je li URL adresa valjana ili ne. Ako je valjano, tada će se ispisati ime hosta i ime domene, inače će se ispisati poruka o pogrešci.

// Definiraj URL
$ url = "https: // www.linuxhint.com ";
// Definirajte obrazac za provjeru valjanosti URL-a
$ uzorak = '@ ^ (?: https: //)?([^ /] +) @ i ';
// Provjerite je li URL valjan ili ne
if (preg_match ($ uzorak, $ url, $ podudaranja1))

// Ispis poruke o uspjehu
echo "URL je valjan.
";
// Ispis polja koja sadrži vrijednosti podudaranja
echo "Vrijednosti niza su:";
print_r ($ match1);
// Dohvaćanje i ispis vrijednosti hosta
$ host = $ match1 [1];
jeka "
Ime hosta je: $ host ";
// Pretražite naziv domene prema vrijednosti hosta
preg_match ('/ [^.] + \.[^.] + $ / ', $ host, $ match2);
jeka "
Ime domene je: $ matches2 [0] ";

drugo

// Ispis poruke pogreške
echo "Neispravan URL.";

?>

Izlaz:

Sljedeći će se izlaz pojaviti nakon pokretanja skripte s poslužitelja. Navedeni URL u skripti je valjan. 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 vrijednosti zastavice i pomaka u funkciji preg_match (). Stvorite PHP datoteku sa sljedećom skriptom.

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

// Definiraj vrijednost teksta
$ text = "Bangladeš";
// Definiraj tri vrste uzoraka
$ pattern1 = '/ (bangla) (desh) / i';
$ pattern2 = '/ (bangla) (drago) * (desh) / i';
$ pattern3 = '/ drago /';
// Korištenje zastavice PREG_OFFSET_CAPTURE
preg_match ($ pattern1, $ text, $ matches, PREG_OFFSET_CAPTURE);
jeka "
";
print_r ($ podudaranja);
jeka "

";
// Korištenje zastavice PREG_UNMATCHED_AS_NULL
preg_match ($ pattern2, $ text, $ matches, PREG_UNMATCHED_AS_NULL);
jeka "
";
print_r ($ podudaranja);
jeka "

";
// Korištenje oznake PREG_OFFSET_CAPTURE i vrijednosti pomaka
preg_match ($ pattern3, $ text, $ matches, PREG_OFFSET_CAPTURE, 3);
jeka "
";
print_r ($ podudaranja);
jeka "
";
?>

Izlaz:

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

Zaključak

Upotreba funkcije preg_match () objašnjena je u ovom vodiču na više primjera. Ovdje su prikazane i upotrebe različitih argumenata ove funkcije. Čitatelji će ovu funkciju moći pravilno koristiti u svojoj skripti nakon čitanja ovog vodiča.

Vulkan za korisnike Linuxa
Sa svakom novom generacijom grafičkih kartica vidimo da programeri igara pomiču granice grafičke vjernosti i dolaze na korak od fotorealizma. No, bez ...
OpenTTD vs Simutrans
Stvaranje vlastite simulacije prijevoza može biti zabavno, opuštajuće i izuzetno primamljivo. Zbog toga morate isprobati što više igara kako biste pro...
Vodič za OpenTTD
OpenTTD je jedna od najpopularnijih igara za poslovnu simulaciju. U ovoj igri morate stvoriti prekrasan prijevoznički posao. Međutim, počet ćete u poč...