php

Funkcijos preg_match () naudojimas PHP

Funkcijos preg_match () naudojimas PHP

Reguliarioji išraiška yra tam tikras šablonas, 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ų tikrinimui atlikti, pvz., Patvirtinant el. Paštą, tikrinant telefono formatą, patvirtinant prisijungimo formos vartotojo vardo ir slaptažodžio laukus ir kt. Bet kokį konkretų teksto turinį galima ieškoti ir pakeisti naudojant įprastos išraiškos šabloną. Jis taip pat vadinamas regex arba RegExp. Regex šablonui apibrėžti naudojami skirtingi simbolių tipai.

PHP sistemoje yra daug integruotų funkcijų. preg_match () funkcija yra viena iš jų. Ši funkcija naudojama tam, kad eilutės duomenyse atitiktų tam tikrą modelį. Kaip preg_match () funkciją galima naudoti PHP atliekant įvairias užduotis, paaiškinta šioje pamokoje.

Sintaksė:

Vidutinis arba klaidingas preg_match (eilutė $ šablonas, eilutė $ tema [, masyvas ir $ atitikmenys = null [, int $ flags = 0 [, int $ offset = 0]]])

Ši funkcija gali turėti penkis argumentus. Pirmasis argumentas, $ modelis, yra privalomas, kuris apibrėžia atitikimo modelį. Antrasis argumentas, $ tema, yra privalomas ir jame yra eilutės duomenys, kuriuose modelis bus naudojamas. Trečias argumentas, $ atitikmenų, yra neprivalomas ir jis pateikia masyvą pagal atitikmenį. Ketvirtas argumentas, $ vėliavos, yra neprivaloma, kurioje yra skirtingų tipų žymėjimo reikšmių, atsižvelgiant į atitiktį. Penktasis argumentas, $ kompensuoti, yra neprivaloma ir gali būti naudojama apibrėžiant pradinę paieškos vietą.

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

Šiame pavyzdyje parodoma, kaip naudoti funkciją preg_match () eilutei suderinti didžiosiomis ir mažosiomis raidėmis. Sukurkite PHP failą naudodami šį scenarijų.

Čia naudojami trys modeliai taikant tris preg_match () funkcijas. Pirmasis modelis, '/Kaip/', naudojama eilutei suderinti didžiosiomis ir mažosiomis raidėmis. Antrasis modelis, '/Kaip/', naudojama eilutei suderinti didžiosiomis ir mažosiomis raidėmis. Trečias modelis, 'Kaip aš', yra naudojamas eilutei suderinti neskiriant 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 šios funkcijos grąžintą vertę.

// Apibrėžkite tekstą
$ text = "Man patinka PHP. Man taip pat patinka „JavaScript“.";
// Apibrėžkite tris modelių tipus
$ pattern1 = '/ Patinka /';
$ model2 = '/ like /';
$ model3 = '/ Patinka / i';
// Apibrėžkite teksto paieškos funkciją
funkcija search_pattern ($ modelis, $ eilutė)

jei (preg_match ($ modelis, $ eilutė))
echo "Paieškos rezultatas: Rastas modelio atitikmuo - $ modelis
";
Kitas
echo "Paieškos rezultatas: Nerandama modelio atitiktis - $ modelis
";

// Atspausdinkite originalų tekstą
echo "Originalus tekstas yra: $ tekstas
";
// Tris kartus iškvieskite funkciją trims šablonams
search_pattern ($ modelis1, $ tekstas);
search_pattern ($ modelis2, $ tekstas);
search_pattern ($ modelis3, $ tekstas);
?>

Rezultatas:

Ši išvestis bus rodoma paleidus scenarijų iš serverio. Pirmoje eilutėje rodomas tekstas, kuriame ieškota raštų. Antroji eilutė rodo pirmojo modelio išvestį. Trečioji eilutė rodo antrojo modelio išvestį. Ketvirta eilutė rodo trečiojo modelio išvestį.

2 pavyzdys: patvirtinkite URL

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

URL vertė kintamajame $ url priskiriama bandymams. „@ ^ (?: https: //)?([^ /] +) @ i 'eilutė naudojama kaip šablonas funkcijoje preg_match (), norint patikrinti, ar URL adresas galioja, ar ne. Jei jis galioja, bus spausdinami pagrindinio kompiuterio vardas ir domeno vardas, priešingu atveju bus išspausdintas klaidos pranešimas.

// Apibrėžkite URL
$ url = "https: // www.linuxhint.com ";
// Apibrėžkite URL patvirtinimo šabloną
$ modelis = '@ ^ (?: https: //)?([^ /] +) @ i ';
// Patikrinkite, ar URL galioja, ar ne
if (preg_match ($ modelis, $ url, $ atitikmenys1))

// Spausdinkite sėkmės pranešimą
echo "URL galioja.
";
// Spausdinkite masyvą, kuriame yra atitikties vertės
echo "Masyvo reikšmės yra:";
spausdinti_r ($ atitikmenys1);
// Gaukite ir atsispausdinkite pagrindinio kompiuterio vertę
$ host = $ match1 [1];
aidas "
Pagrindinio kompiuterio vardas yra: $ host ";
// Ieškokite domeno pavadinimo pagal pagrindinio kompiuterio vertę
preg_match ('/ [^.] + \.[^.] + $ / ', $ kompiuteris, $ rungtynės2);
aidas "
Domeno vardas yra: $ match2 [0] ";

Kitas

// Spausdinkite klaidos pranešimą
echo "Neteisingas URL.";

?>

Rezultatas:

Ši išvestis bus rodoma paleidus scenarijų iš serverio. Pateiktas scenarijaus URL yra tinkamas. Taigi, išvestis rodo $ atitikmenų reikšmes, URL prieglobos pavadinimą ir URL domeno pavadinimą.

3 pavyzdys: Paieškos šablonas su žymos ir poslinkio reikšmėmis

Šis pavyzdys rodo žymos ir poslinkio reikšmių naudojimą funkcijoje preg_match (). Sukurkite PHP failą naudodami šį scenarijų.

Trys derinimo tipai scenarijuje naudojami trys modeliai. Pirmojoje „preg_match ()“ funkcijoje „/ (bangla) (desh) /“ naudojama kaip šablonas ir vėliavos vertė, naudojama PREG_OFFSET_CAPTURE. Vertybės $ atitikmenų kintamasis spausdins pagal pirmosios funkcijos preg_match () išvestį. Antroje „preg_match ()“ funkcijoje „/ (bangla) (glad) * (desh) / i“ naudojama kaip šablonas ir žymos vertė, naudojama PREG_UNMATCHED_AS_NULL. Jei kuri nors modelio dalis nesutampa, masyve bus išsaugota NULL reikšmė. Vertybės $ atitikmenų kintamasis spausdins pagal antrosios funkcijos preg_match () išvestį. Trečioje funkcijoje „preg_match ()“ kaip „schema“ naudojama „/ glad /“, vėliavos reikšmė - PREG_OFFSET_CAPTURE ir 3 - kaip poslinkio vertė. Vertybės $ atitikmenų kintamasis spausdins pagal trečiosios funkcijos „preg_match ()“ išvestį.

// Apibrėžkite teksto vertę
$ text = "Bangladešas";
// Apibrėžkite trijų tipų modelius
$ model1 = '/ (bangla) (desh) / i';
$ model2 = '/ (bangla) (malonu) * (desh) / i';
$ model3 = '/ linksmas /';
// Naudojant PREG_OFFSET_CAPTURE vėliavą
preg_match ($ modelis1, $ tekstas, $ atitikmenys, PREG_OFFSET_CAPTURE);
aidas "
";
spausdinti_r ($ atitikmenų);
aidas "

";
// Naudojama PREG_UNMATCHED_AS_NULL vėliava
preg_match ($ modelis2, $ tekstas, $ atitikmenys, PREG_UNMATCHED_AS_NULL);
aidas "
";
spausdinti_r ($ atitikmenų);
aidas "

";
// PREG_OFFSET_CAPTURE vėliavos ir poslinkio vertės naudojimas
preg_match ($ modelis3, $ tekstas, $ atitikmenys, PREG_OFFSET_CAPTURE, 3);
aidas "
";
spausdinti_r ($ atitikmenų);
aidas "
";
?>

Rezultatas:

Ši išvestis bus rodoma paleidus scenarijų iš serverio.

Išvada

Funkcijos preg_match () naudojimas šioje instrukcijoje buvo paaiškintas naudojant kelis pavyzdžius. Čia taip pat buvo parodyti skirtingų šios funkcijos argumentų naudojimo būdai. Skaitydami šią pamoką, skaitytojai galės tinkamai naudoti šią funkciją savo scenarijuje.

Naudingi įrankiai „Linux“ žaidėjams
Jei jums patinka žaisti žaidimus „Linux“ sistemoje, yra tikimybė, kad galbūt naudojote tokias programas ir įrankius kaip „Wine“, „Lutris“ ir „OBS Stud...
„HD Remastered“ žaidimai, skirti „Linux“, kurie niekada anksčiau nebuvo išleisti „Linux“
Daugelis žaidimų kūrėjų ir leidėjų siūlo senų žaidimų HD remasterį, kad prailgintų franšizės laiką. Prašome gerbėjų, prašančių suderinamumo su šiuolai...
Kaip naudoti „AutoKey“, norint automatizuoti „Linux“ žaidimus
„AutoKey“ yra darbalaukio automatizavimo įrankis, skirtas „Linux“ ir „X11“, užprogramuotas „Python 3“, „GTK“ ir „Qt“. Naudodami scenarijų ir „MACRO“ f...