Utilizarea funcției preg_match () în PHP

Use Preg_match Function Php



Expresia regulată este un model special care poate fi folosit pentru a potrivi, căuta și înlocui orice șir particular din datele text. Este o caracteristică puternică a oricărui limbaj de programare. Este utilizat în principal pentru a efectua diferite tipuri de validări de formulare, cum ar fi validarea e-mailului, verificarea formatului telefonului, validarea câmpurilor de nume de utilizator și parolă ale formularului de conectare etc. Orice conținut particular al textului poate fi căutat și înlocuit folosind o expresie regulată. model. Se mai numește regex sau RegExp. Diferite tipuri de simboluri sunt utilizate pentru a defini modelul regex.

Multe funcții încorporate există în PHP pentru expresia regulată. funcția preg_match () este una dintre ele. Această funcție este utilizată pentru potrivirea unui anumit model în datele șirului. Modul în care funcția preg_match () poate fi utilizată în PHP pentru efectuarea diverselor sarcini este explicată în acest tutorial.







Sintaxă:

Int saufals preg_match (şir$ model,şir$ subiect [, matrice &$ meciuri = nul [,int$ steaguri = 0 [,int$ offset = 0]]])

Această funcție poate lua cinci argumente. Primul argument, $ model , este obligatoriu, care definește modelul pentru potrivire. Al doilea argument, $ subiect , este obligatoriu și conține datele șirului în care modelul va fi aplicat. Al treilea argument, $ meciuri , este opțional și returnează o matrice bazată pe potrivire. Al patrulea argument, $ steaguri , este opțional, care conține diferite tipuri de valori de semnalizare bazate pe potrivire. Al cincilea argument, $ offset , este opțional și poate fi folosit pentru a defini poziția inițială a căutării.



Exemplul 1: potriviți modelul într-un mod sensibil la majuscule și minuscule

Următorul exemplu arată utilizarea funcției preg_match () pentru potrivirea șirului într-o manieră diferențiată de majuscule și minuscule. Creați un fișier PHP cu următorul script.



Aici, trei modele sunt utilizate pentru aplicarea în trei funcții preg_match (). Primul model, '/Ca/', este folosit pentru potrivirea șirului într-un mod sensibil la majuscule. Al doilea model, '/ca/' , este folosit pentru potrivirea șirului într-un mod sensibil la majuscule. Al treilea model, 'Ca eu' , este folosit pentru potrivirea șirului într-un mod care nu face sensibilitate la majuscule. search_pattern () funcția este definită în script pentru a utiliza funcția preg_match () pentru potrivire și tipărește mesajul pe baza valorii returnate a acestei funcții.







// Definiți textul

$ text = 'Îmi place PHP. Îmi place și JavaScript. ';

// Definiți trei tipuri de tipare

$ model1 = '/Ca/';

$ model2 = '/ca/';

$ model3 = '/Ca eu';

// Definiți funcția pentru căutarea modelului din text

funcţiesearch_pattern($ model, $ string)

{

dacă( preg_match ($ model, $ string))

aruncat 'Rezultatul căutării: Se găsește potrivirea pentru model -$ model
'
;

altceva

aruncat 'Rezultatul căutării: Nu se găsește potrivirea pentru model -$ model
'
;

}

// Imprimați textul original

aruncat „Textul original este: $ text
'
;

// Apelați funcția de trei ori pentru trei modele

search_pattern($ model1, $ text);

search_pattern($ model2, $ text);

search_pattern($ model3, $ text);

?>

Ieșire :

Următoarea ieșire va apărea după rularea scriptului de pe server. Primul rând arată textul în care au fost căutate tiparele. A doua linie arată ieșirea primului model. A treia linie arată ieșirea celui de-al doilea model. A patra linie arată ieșirea celui de-al treilea model.



Exemplul 2: validați adresa URL

Următorul exemplu arată modul de validare a adresei URL utilizând funcția preg_match (). Creați un fișier PHP cu următorul script.

O valoare URL este atribuită în variabila $ url pentru testare. Șirul ‘@ ^ (?: Https: //)? ([^ /] +) @I’ este folosit ca model în funcția preg_match () pentru a verifica dacă adresa URL este validă sau nu. Dacă este valid, atunci numele gazdei și numele domeniului vor fi tipărite, în caz contrar, mesajul de eroare va fi tipărit.



// Definiți adresa URL

$ url = „https://www.linuxhint.com”;

// Definiți modelul pentru validarea adresei URL

$ model =„@ ^ (?: https: //)? ([^ /] +) @i”;

// Verificați dacă adresa URL este validă sau nu

dacă( preg_match ($ model, $ url, $ meciuri1))

{

// Imprimați mesajul de succes

aruncat „Adresa URL este validă.
'
;

// Imprimați tabloul care conține valorile de potrivire

aruncat „Valorile matricei sunt:”;

print_r ($ meciuri1);

// Recuperați și imprimați valoarea gazdei

$ gazdă = $ meciuri1[1];

aruncat '
Numele gazdei este:$ gazdă'
;

// Căutați numele domeniului din valoarea gazdei

preg_match („/[^.-lex.europa.eu+.[^.íritu+$/”, $ gazdă, $ meciuri2);

aruncat '
Numele de domeniu este:{$ matches2 [0]}'
;

}

altceva

{

// Imprimați mesajul de eroare

aruncat 'URL invalid.';

}

?>

Ieșire :

Următoarea ieșire va apărea după rularea scriptului de pe server. Adresa URL furnizată în script este validă. Deci, ieșirea arată valorile potrivirilor $, numele gazdei adresei URL și numele domeniului adresei URL.

Exemplul 3: Căutați modelul cu steag și valori de compensare

Următorul exemplu arată utilizările valorilor de semnalizare și de compensare în funcția preg_match (). Creați un fișier PHP cu următorul script.

Trei tipare sunt utilizate în script pentru trei tipuri de potrivire. În prima funcție preg_match (), „/ (bangla) (desh) /” este utilizat ca model și valoarea steagului, se utilizează PREG_OFFSET_CAPTURE. Valorile $ meciuri variabila va imprima pe baza rezultatului primei funcții preg_match (). În cea de-a doua funcție preg_match (), „/ (bangla) (glad) * (desh) / i”, este folosit ca model și valoarea steagului, se utilizează PREG_UNMATCHED_AS_NULL. Dacă o parte a modelului nu se potrivește, atunci o valoare NULL va fi stocată în matrice. Valorile $ meciuri variabila va imprima pe baza rezultatului celei de-a doua funcții preg_match (). În cea de-a treia funcție preg_match (), „/ glad /” este utilizat ca model, valoarea indicatorului, PREG_OFFSET_CAPTURE este utilizat și 3 este utilizat ca valoare de offset. Valorile $ meciuri variabila va imprima pe baza ieșirii celei de-a treia funcții preg_match ().



// Definiți valoarea textului

$ text = „Bangladesh”;

// Definiți trei tipuri de modele

$ model1 = „/ (bangla) (desh) / i”;

$ model2 = '/ (bangla) (bucuros) * (desh) / i';

$ model3 = '/ bucuros /';


// Folosind pavilionul PREG_OFFSET_CAPTURE

preg_match ($ model1, $ text, $ meciuri,PREG_OFFSET_CAPTURE);

aruncat '
';  

print_r ($matches);

echo '

'
;

// Folosind pavilionul PREG_UNMATCHED_AS_NULL

preg_match ($ model2, $ text, $ meciuri,PREG_UNMATCHED_AS_NULL);

aruncat '
';  

print_r ($matches);

echo '

'
;

// Utilizarea semnalizatorului PREG_OFFSET_CAPTURE și a valorii de compensare

preg_match ($ model3, $ text, $ meciuri,PREG_OFFSET_CAPTURE, 3);

aruncat
';  

print_r ($matches);

echo '
;

?>

Ieșire :

Următoarea ieșire va apărea după rularea scriptului de pe server.

Concluzie

Utilizările funcției preg_match () au fost explicate în acest tutorial folosind mai multe exemple. Utilizările diferitelor argumente ale acestei funcții au fost, de asemenea, prezentate aici. Cititorii vor putea utiliza această funcție în mod corespunzător în scriptul lor după ce au citit acest tutorial.