Funkcijos preg_match () naudojimas PHP

Use Preg_match Function Php



Įprasta išraiška yra tam tikras modelis, kurį galima naudoti norint suderinti, ieškoti ir pakeisti bet kurią konkrečią teksto duomenų eilutę. Tai galinga bet kurios programavimo kalbos savybė. Jis daugiausia naudojamas įvairių tipų formų patvirtinimams atlikti, pvz., Elektroninio pašto patvirtinimui, telefono formato tikrinimui, prisijungimo formos vartotojo vardo ir slaptažodžio laukų patvirtinimui ir pan. Bet kurio konkretaus teksto turinio galima ieškoti ir pakeisti naudojant įprastą išraišką modelis. Jis taip pat vadinamas regex arba RegExp. Reguliaraus reguliavimo modeliui apibrėžti naudojami įvairių tipų simboliai.

PHP yra daug įprastų išraiškų funkcijų. Funkcija preg_match () yra viena iš jų. Ši funkcija naudojama tam tikram eilutės duomenų modeliui suderinti. Šiame vadove paaiškinta, kaip funkcija preg_match () gali būti naudojama PHP atliekant įvairias užduotis.







Sintaksė:

Int arbaklaidinga preg_match (eilutė$ modelis,eilutė$ tema [, masyvas &$ rungtynių = nulis [,tarpt$ vėliavos = 0 [,tarpt$ kompensuoti = 0]]])

Ši funkcija gali turėti penkis argumentus. Pirmasis argumentas, $ modelis , yra privalomas, kuris apibrėžia atitikimo modelį. Antras argumentas, $ tema , yra privalomas ir jame yra eilutės duomenys, kuriems bus taikomas modelis. Trečias argumentas, $ rungtynių , yra neprivalomas ir grąžina masyvą pagal atitiktį. Ketvirtas argumentas, $ vėliavos , yra neprivalomas, kuriame yra skirtingų tipų vėliavinių verčių pagal atitiktį. Penktas argumentas, $ kompensuoti , neprivaloma ir gali būti naudojama paieškos pradinei padėčiai apibrėžti.



1 pavyzdys: suderinkite modelį didžiosiomis ir mažosiomis raidėmis

Šiame pavyzdyje parodyta funkcijos preg_match () naudojimas, siekiant suderinti eilutę didžiosiomis ir mažosiomis raidėmis. Sukurkite PHP failą naudodami šį scenarijų.



Čia trys modeliai naudojami taikant tris preg_match () funkcijas. Pirmasis modelis, '/Kaip/', naudojamas eilutei suderinti didžiosiomis ir mažosiomis raidėmis. Antras modelis, '/Kaip/' , naudojamas eilutei suderinti didžiosiomis ir mažosiomis raidėmis. Trečiasis modelis, 'Kaip aš' , naudojamas eilutei sutapti be didžiųjų ir mažųjų raidžių. search_pattern () funkcija yra apibrėžta scenarijuje, kad atitikčiai būtų naudojama funkcija preg_match (), ir ji išspausdina pranešimą pagal grąžintą šios funkcijos vertę.







// Apibrėžkite tekstą

$ tekstas = „Man patinka PHP. Man taip pat patinka „JavaScript“. “;

// Apibrėžkite tris modelio tipus

$ modelis1 = '/Kaip/';

$ modelis2 = '/Kaip/';

$ modelis3 = '/Kaip aš';

// Apibrėžkite teksto šablono paieškos funkciją

funkcijasearch_pattern($ modelis, $ eilutė)

{

jei( preg_match ($ modelis, $ eilutė))

išmetė 'Paieškos rezultatas: Rasta modelio atitiktis -$ modelis
'
;

Kitas

išmetė 'Paieškos rezultatas: Nerasta modelio atitikties -$ modelis
'
;

}

// Spausdinti originalų tekstą

išmetė „Originalus tekstas yra toks: $ tekstas
'
;

// Skambinkite funkcijai tris kartus, kad gautumėte tris modelius

search_pattern($ modelis1, $ tekstas);

search_pattern($ modelis2, $ tekstas);

search_pattern($ modelis3, $ tekstas);

?>

Išvestis :

Paleidus scenarijų iš serverio, pasirodys ši išvestis. Pirmoje eilutėje rodomas tekstas, kuriame buvo ieškoma modelių. Antroji eilutė rodo pirmojo modelio išvestį. Trečioji eilutė rodo antrojo modelio išvestį. Ketvirtoji eilutė rodo trečiojo modelio išvestį.



2 pavyzdys: patvirtinkite URL

Šiame pavyzdyje parodytas būdas patvirtinti URL adresą naudojant funkciją preg_match (). Sukurkite PHP failą naudodami šį scenarijų.

Kintamajame $ url bandymui priskirta URL vertė. Eilutė „@^(?: Https: //)? ([^/]+) @I“ naudojama kaip pavyzdys funkcijoje preg_match (), siekiant patikrinti, ar URL adresas galioja, ar ne. Jei jis galioja, pagrindinio kompiuterio ir domeno vardas bus atspausdinti, kitaip bus išspausdintas klaidos pranešimas.



// Apibrėžkite URL

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

// Apibrėžkite URL patvirtinimo modelį

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

// Patikrinkite, ar URL galioja, ar ne

jei( preg_match ($ modelis, $ url, $ rungtynės1))

{

// Spausdinkite sėkmės pranešimą

išmetė „URL galioja.
'
;

// Spausdinkite masyvą, kuriame yra atitikties reikšmės

išmetė „Masyvo reikšmės yra šios:“;

print_r ($ rungtynės1);

// Gauti ir išspausdinti pagrindinio kompiuterio vertę

$ šeimininkas = $ rungtynės1[1];

išmetė '
Šeimininko vardas yra:$ šeimininkas'
;

// Ieškokite domeno pavadinimo pagal pagrindinio kompiuterio vertę

preg_match ('/[^.-lex.europa.eu+.[^.íritu+$/', $ šeimininkas, $ rungtynės2);

išmetė '
Domeno vardas yra:{$ match2 [0]}'
;

}

Kitas

{

// Spausdinti klaidos pranešimą

išmetė 'Neteisingas URL.';

}

?>

Išvestis :

Paleidus scenarijų iš serverio, pasirodys ši išvestis. Scenarijuje pateiktas URL yra galiojantis. Taigi, išvestyje rodomos $ atitikčių reikšmės, URL prieglobos serverio pavadinimas ir URL domeno pavadinimas.

3 pavyzdys: paieškos modelis su vėliavos ir poslinkio reikšmėmis

Šiame pavyzdyje parodyta vėliavos ir poslinkio reikšmių funkcija „preg_match ()“. Sukurkite PHP failą naudodami šį scenarijų.

Scenarijuje naudojami trys modeliai, skirti trims atitikimo tipams. Pirmojoje „preg_match ()“ funkcijoje „/(bangla) (desh)/“ naudojamas kaip modelis ir vėliavos reikšmė - PREG_OFFSET_CAPTURE. Vertybės $ rungtynių kintamasis bus spausdinamas pagal pirmosios funkcijos preg_match () išvestį. Antroje „preg_match ()“ funkcijoje „/(bangla) (malonu)*(desh)/i“ naudojamas kaip modelis ir naudojama vėliavos reikšmė PREG_UNMATCHED_AS_NULL. Jei kuri nors modelio dalis nesutampa, masyve bus išsaugota NULL reikšmė. Vertybės $ rungtynių kintamasis bus spausdinamas pagal antrosios funkcijos preg_match () išvestį. Trečioje „preg_match ()“ funkcijoje „/glad/“ naudojamas kaip šablonas, vėliavos reikšmė PREG_OFFSET_CAPTURE ir 3 naudojama kaip kompensavimo vertė. Vertybės $ rungtynių kintamasis bus spausdinamas pagal trečiosios funkcijos preg_match () išvestį.



// Apibrėžkite teksto vertę

$ tekstas = „Bangladešas“;

// Apibrėžkite trijų tipų modelius

$ modelis1 = ' / (Bangla) (desh) / i';

$ modelis2 = ' / (Bangla) (malonu) * (desh) / i';

$ modelis3 = '/laimingas/';


// Naudojant PREG_OFFSET_CAPTURE vėliavą

preg_match ($ modelis1, $ tekstas, $ rungtynių,PREG_OFFSET_CAPTURE);

išmetė
';  

print_r ($matches);

echo '

'
;

// Naudojant PREG_UNMATCHED_AS_NULL vėliavą

preg_match ($ modelis2, $ tekstas, $ rungtynių,PREG_UNMATCHED_AS_NULL);

išmetė
';  

print_r ($matches);

echo '

'
;

// Naudojant vėliavą ir poslinkio vertę PREG_OFFSET_CAPTURE

preg_match ($ modelis3, $ tekstas, $ rungtynių,PREG_OFFSET_CAPTURE, 3);

išmetė '
';  

print_r ($matches);

echo '
'
;

?>

Išvestis :

Paleidus scenarijų iš serverio, pasirodys ši išvestis.

Išvada

Funkcijos preg_match () naudojimas šioje mokymo programoje buvo paaiškintas naudojant kelis pavyzdžius. Čia taip pat parodyta, kaip naudojami įvairūs šios funkcijos argumentai. Skaitytojai galės tinkamai naudotis šia funkcija savo scenarijuje, perskaitę šią mokymo programą.