php

Uporaba funkcije preg_match () v PHP

Uporaba funkcije preg_match () v PHP

Regularni izraz je določen vzorec, s katerim se lahko ujema, išče in nadomešča kateri koli niz v besedilnih podatkih. Je zmogljiva lastnost katerega koli programskega jezika. Uporablja se predvsem za izvajanje različnih vrst preverjanj obrazcev, kot so preverjanje e-pošte, preverjanje oblike telefona, preverjanje polj uporabniškega imena in gesla prijavnega obrazca itd. Vsako določeno vsebino besedila je mogoče iskati in zamenjati z vzorcem regularnega izraza. Imenuje se tudi regularni izraz ali RegExp. Za določitev vzorca regularnih izrazov se uporabljajo različne vrste simbolov.

V regularnem izrazu v PHP obstaja veliko vgrajenih funkcij. funkcija preg_match () je ena izmed njih. Ta funkcija se uporablja za ujemanje določenega vzorca v podatkih niza. Kako je mogoče funkcijo preg_match () uporabiti v PHP za izvajanje različnih nalog, je razloženo v tej vadnici.

Sintaksa:

Int ali false preg_match (niz $ vzorec, niz $ predmet [, matrika & $ ujemanja = null [, int $ flags = 0 [, int $ offset = 0]]])

Ta funkcija lahko sprejme pet argumentov. Prvi argument, $ vzorec, je obvezen, kar določa vzorec za ujemanje. Drugi argument, $ tema, je obvezen in vsebuje nizne podatke, v katerih bo uporabljen vzorec. Tretji argument, $ ujemanja, ni obvezen in vrne matriko, ki temelji na ujemanju. Četrti argument, $ zastavice, je neobvezno, ki vsebuje različne vrste vrednosti zastav glede na ujemanje. Peti argument, $ offset, je neobvezna in se lahko uporablja za določanje začetnega položaja iskanja.

Primer 1: Vzorec ujemajte z velikimi in malimi črkami

Naslednji primer prikazuje uporabo funkcije preg_match () za ujemanje niza na velike in male črke. 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, '/ like /', se uporablja za ujemanje niza na velike in male črke. Tretji vzorec, "Všeč mi je / i", se uporablja za ujemanje niza na velike in male črke. vzorec iskanja () funkcija je v skriptu definirana za uporabo funkcije preg_match () za ujemanje in natisne sporočilo na podlagi vrnjene vrednosti te funkcije.

// Določite besedilo
$ text = "Všeč mi je PHP. Všeč mi je tudi JavaScript.";
// Določimo tri vrste vzorcev
$ pattern1 = '/ Všeč mi je /';
$ pattern2 = '/ like /';
$ pattern3 = '/ Všeč mi je / i';
// Določimo funkcijo za iskanje vzorca v besedilu
vzorec iskanja funkcije ($ vzorec, $ niz)

če (preg_match ($ vzorec, $ niz))
echo "Rezultat iskanja: Najdeno je ujemanje za vzorec - $ vzorec
";
drugače
echo "Rezultat iskanja: Za vzorec ni mogoče najti ujemanja - $ vzorec
";

// Natisni izvirno besedilo
echo "Izvirno besedilo je: $ besedilo
";
// Trikrat pokličemo funkcijo za tri vzorce
vzorec iskanja ($ vzorec1, $ besedilo);
vzorec iskanja ($ vzorec2, $ besedilo);
vzorec iskanja ($ vzorec3, $ besedilo);
?>

Izhod:

Naslednji izhod se prikaže po zagonu skripta s strežnika. Prva vrstica prikazuje besedilo, kjer so iskali vzorce. Druga vrstica prikazuje rezultat prvega vzorca. Tretja vrstica prikazuje rezultat drugega vzorca. V četrti vrstici je prikazan rezultat tretjega vzorca.

2. primer: potrdite URL

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

Vrednost URL je dodeljena v spremenljivki $ url za testiranje. '@ ^ (?: https: //)?([^ /] +) @ i 'niz 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, sicer pa 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
if (preg_match ($ vzorec, $ url, $ ujemanja1))

// Natisnite sporočilo o uspehu
echo "URL je veljaven.
";
// Natisne polje, ki vsebuje vrednosti ujemanja
echo "Vrednosti matrike so:";
print_r ($ ujema1);
// Pridobivanje in tiskanje vrednosti gostitelja
$ host = $ match1 [1];
odmev "
Ime gostitelja je: $ host ";
// Iskanje imena domene po vrednosti gostitelja
preg_match ('/ [^.] + \.[^.] + $ / ', $ gostitelj, $ ujemanja2);
odmev "
Ime domene je: $ matches2 [0] ";

drugače

// Natisnite sporočilo o napaki
echo "Neveljaven URL.";

?>

Izhod:

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

Primer 3: Vzorec iskanja z vrednostmi zastavice in odmika

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

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

// Določimo besedilno vrednost
$ text = "Bangladeš";
// Določimo tri vrste vzorcev
$ pattern1 = '/ (bangla) (desh) / i';
$ pattern2 = '/ (bangla) (veselo) * (desh) / i';
$ pattern3 = '/ vesel /';
// Uporaba zastavice PREG_OFFSET_CAPTURE
preg_match ($ pattern1, $ text, $ matches, PREG_OFFSET_CAPTURE);
odmev "
";
print_r ($ ujemanja);
odmev "

";
// Uporaba zastavice PREG_UNMATCHED_AS_NULL
preg_match ($ pattern2, $ text, $ matches, PREG_UNMATCHED_AS_NULL);
odmev "
";
print_r ($ ujemanja);
odmev "

";
// Uporaba oznake PREG_OFFSET_CAPTURE in odmika
preg_match ($ pattern3, $ text, $ matches, PREG_OFFSET_CAPTURE, 3);
odmev "
";
print_r ($ ujemanja);
odmev "
";
?>

Izhod:

Naslednji izhod se prikaže po zagonu skripta s strežnika.

Zaključek

Uporabe funkcije preg_match () so bile razložene v tej vadnici z več primeri. Tu je bila prikazana tudi uporaba različnih argumentov te funkcije. Bralci bodo lahko po branju te vadnice to funkcijo pravilno uporabljali v svojem skriptu.

Brezplačni in odprtokodni igralni mehanizmi za razvoj iger Linux
Ta članek bo zajemal seznam brezplačnih in odprtokodnih igralnih mehanizmov, ki jih je mogoče uporabiti za razvoj 2D in 3D iger v Linuxu. Obstaja veli...
Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...
Kako povečati FPS v Linuxu?
FPS pomeni Število sličic na sekundo. Naloga FPS je merjenje hitrosti sličic pri predvajanju video posnetkov ali igranih predstavah. Z enostavnimi bes...