php

Funktsiooni preg_match () kasutamine PHP-s

Funktsiooni preg_match () kasutamine PHP-s

Regulaaravaldus on konkreetne muster, mida saab kasutada tekstiandmetes mis tahes konkreetse stringi sobitamiseks, otsimiseks ja asendamiseks. See on mis tahes programmeerimiskeele võimas omadus. Seda kasutatakse peamiselt erinevat tüüpi vormide kinnitamiseks, näiteks e-posti kinnitamiseks, telefoni vormingu kontrollimiseks, sisselogimisvormi kasutajanime ja parooli väljade kinnitamiseks jne. Mis tahes konkreetse teksti sisu saab otsida ja asendada tavalise avaldise mustriga. Seda nimetatakse ka regex või RegExp. Regexi mustri määratlemiseks kasutatakse erinevat tüüpi sümboleid.

Regulaaravaldise jaoks on PHP-s palju sisseehitatud funktsioone. funktsioon preg_match () on üks neist. Seda funktsiooni kasutatakse stringiandmetes konkreetse mustri sobitamiseks. Kuidas funktsiooni preg_match () saab PHP-s kasutada mitmesuguste ülesannete täitmiseks, selgitatakse selles õpetuses.

Süntaks:

Int või false preg_match (string $ muster, string $ subjekt [, massiiv & $ match = null [, int $ lipud = 0 [, int $ offset = 0]]])

Selle funktsiooni jaoks võib olla viis argumenti. Esimene argument, muster $, on kohustuslik, mis määrab sobitamise mustri. Teine argument, $ teema, on kohustuslik ja sisaldab stringi andmeid, milles mustrit rakendatakse. Kolmas argument, $ vastet, on valikuline ja tagastab vaste põhjal massiivi. Neljas argument, $ lipud, on valikuline, mis sisaldab vaste põhjal erinevat tüüpi lipuväärtusi. Viies argument, $ tasaarvestus, on valikuline ja seda saab kasutada otsingu algpositsiooni määratlemiseks.

Näide 1: sobitage muster suur- ja väiketähtedega

Järgmine näide näitab funktsiooni preg_match () kasutamist stringi sobitamiseks tõstutundlikult ja suurtundetult. Looge järgmise skriptiga PHP-fail.

Siin kasutatakse kolme mustrit rakendamiseks kolmes funktsioonis preg_match (). Esimene muster, '/ Meeldib /', kasutatakse stringi sobitamiseks tõstutundlikul viisil. Teine muster, '/ like /', kasutatakse stringi sobitamiseks tõstutundlikul viisil. Kolmas muster, 'Nagu mina', kasutatakse stringi sobitamiseks suur- ja väiketähtedeta. search_pattern () Funktsioon on skriptis määratletud funktsiooni preg_match () kasutamiseks sobitamiseks ja see prindib sõnumi selle funktsiooni tagastatud väärtuse põhjal.

// Määratlege tekst
$ text = "Mulle meeldib PHP. Mulle meeldib ka JavaScript.";
// Määratlege kolme tüüpi mustreid
$ muster1 = '/ Meeldib /';
$ muster2 = '/ like /';
$ muster3 = '/ Meeldib / i';
// Määratlege funktsioon mustri otsimiseks tekstist
funktsioon search_pattern (muster $, string $)

if (preg_match (muster $, string $))
echo "Otsingu tulemus: Mustri jaoks on leitud vaste - muster $
";
muud
echo "Otsingu tulemus: Mustrit ei leitud - muster $
";

// Prindi originaaltekst
kaja "Algtekst on: $ tekst
";
// Kolme mustri jaoks kutsuge funktsiooni kolm korda
otsingu_muster ($ muster1, $ tekst);
otsingu_muster ($ muster2, $ tekst);
otsingu_muster ($ muster3, $ tekst);
?>

Väljund:

Järgmine väljund ilmub pärast skripti käivitamist serverist. Esimesel real on tekst, kust mustreid otsiti. Teine rida näitab esimese mustri väljundit. Kolmas rida näitab teise mustri väljundit. Neljas rida näitab kolmanda mustri väljundit.

Näide 2: URL-i kinnitamine

Järgmine näide näitab URL-aadressi kinnitamise funktsiooni preg_match () abil. Looge järgmise skriptiga PHP-fail.

Muutujaks $ url määratakse testimiseks URL-i väärtus. '@ ^ (?: https: //)?([^ /] +) @ i 'stringi kasutatakse mustrina funktsioonis preg_match (), et kontrollida, kas URL-i aadress on õige või mitte. Kui see kehtib, siis prinditakse hostinimi ja domeeninimi, vastasel juhul prinditakse veateade.

// Määrake URL
$ url = "https: // www.linuxhint.com ";
// Määrake URL-i kinnitamise muster
$ muster = '@ ^ (?: https: //)?([^ /] +) @ i ';
// Kontrollige, kas URL on kehtiv või mitte
if (preg_match (muster $, $ url, $ match1))

// Eduteate printimine
echo "URL on kehtiv.
";
// Prindi massiiv, mis sisaldab vaste väärtusi
echo "Massiivi väärtused on:";
print_r ($ vastet1);
// Too hosti väärtus ja prindi see
$ host = $ sobib1 [1];
kaja "
Hostinimi on: $ host ";
// Otsige domeeninime hosti väärtusest
preg_match ('/ [^.] + \.[^.] + $ / ', $ host, $ match2);
kaja "
Domeeninimi on: $ match2 [0] ";

muud

// Prindige tõrketeade
echo "Vale URL.";

?>

Väljund:

Järgmine väljund ilmub pärast skripti käivitamist serverist. Skriptis esitatud URL on kehtiv. Niisiis, väljund näitab $ vastete väärtusi, URL-i hosti nime ja URL-i domeeninime.

Näide 3: otsingu muster lipu ja nihke väärtustega

Järgmine näide näitab funktsiooni preg_match () lipu ja nihke väärtuste kasutamist. Looge järgmise skriptiga PHP-fail.

Kolme tüüpi sobitamiseks kasutatakse skriptis kolme mustrit. Esimeses funktsioonis preg_match () kasutatakse mustri ja lipu väärtusena '/ (bangla) (desh) /', kasutatakse PREG_OFFSET_CAPTURE. Väärtused $ vastet muutuja prindib esimese funktsiooni preg_match () väljundi põhjal. Teises funktsioonis preg_match () kasutatakse mustrina ja lipu väärtusena '/ (bangla) (glad) * (desh) / i', kasutatakse PREG_UNMATCHED_AS_NULL. Kui mustri mõni osa ei klapi, siis massiivi salvestatakse NULL väärtus. Väärtused $ vastet muutuja prindib teise funktsiooni preg_match () väljundi põhjal. Kolmandas funktsioonis preg_match () kasutatakse mustrina '/ glad /', lipu väärtust PREG_OFFSET_CAPTURE ja 3 kasutatakse nihke väärtusena. Väärtused $ vastet muutuja prindib kolmanda funktsiooni preg_match () väljundi põhjal.

// Määrake teksti väärtus
$ text = "Bangladesh";
// Määratlege kolme tüüpi mustrid
$ muster1 = '/ (bangla) (desh) / i';
$ pattern2 = '/ (bangla) (rõõmus) * (desh) / i';
$ muster3 = '/ rõõmus /';
// lipu PREG_OFFSET_CAPTURE kasutamine
preg_match ($ muster1, $ tekst, $ vasted, PREG_OFFSET_CAPTURE);
kaja "
";
print_r ($ vastet);
kaja "

";
// PREG_UNMATCHED_AS_NULL lipu kasutamine
preg_match ($ muster2, $ tekst, $ vasted, PREG_UNMATCHED_AS_NULL);
kaja "
";
print_r ($ vastet);
kaja "

";
// PREG_OFFSET_CAPTURE lipu ja nihke väärtuse kasutamine
preg_match ($ muster3, $ tekst, $ vasted, PREG_OFFSET_CAPTURE, 3);
kaja "
";
print_r ($ vastet);
kaja "
";
?>

Väljund:

Järgmine väljund ilmub pärast skripti käivitamist serverist.

Järeldus

Funktsiooni preg_match () kasutusviise on selles õpetuses selgitatud mitme näite abil. Siin on näidatud ka selle funktsiooni erinevate argumentide kasutusalad. Lugejad saavad pärast selle õpetuse lugemist seda funktsiooni oma skriptis korralikult kasutada.

Parimad Linuxi mängukonsooli emulaatorid
Selles artiklis loetletakse Linuxi jaoks saadaval olev populaarne mängukonsooli emuleerimise tarkvara. Emuleerimine on tarkvara ühilduvuse kiht, mis j...
Parimad mängude jaoks mõeldud Linuxi distrod 2021. aastal
Linuxi operatsioonisüsteem on oma algsest, lihtsast, serveripõhisest välimusest kaugele jõudnud. See operatsioonisüsteem on viimastel aastatel tohutul...
Kuidas Linuxis oma mänguseanssi jäädvustada ja voogesitada
Varem peeti mängude mängimist ainult hobiks, kuid aja jooksul kasvas mängutööstus tehnoloogia ja mängijate arvu osas tohutult. Mängupublik on veebimän...