Funktsiooni preg_match () kasutamine PHP -s

Use Preg_match Function Php



Regulaaravaldis on konkreetne muster, mida saab kasutada tekstiandmete mis tahes konkreetse stringi sobitamiseks, otsimiseks ja asendamiseks. See on iga programmeerimiskeele võimas omadus. Seda kasutatakse peamiselt erinevat tüüpi vormide kinnitamiseks, näiteks e -kirjade kinnitamiseks, telefonivormingu kontrollimiseks, sisselogimisvormi kasutajanime ja parooli väljade kinnitamiseks jne. Teksti konkreetset sisu saab otsida ja asendada tavalise avaldisega muster. Seda nimetatakse ka regexiks või RegExp -ks. Regulaarmustri 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 konkreetse mustri sobitamiseks stringi andmetes. Selles juhendis selgitatakse, kuidas funktsiooni preg_match () saab PHP -s kasutada erinevate ülesannete täitmiseks.





Süntaks:

Int võivale preg_match (string$ muster,string$ teema [, massiiv &$ vastet = null [,int$ lipud = 0 [,int$ nihe = 0]]])

See funktsioon võib võtta viis argumenti. Esimene argument, $ muster , on kohustuslik, mis määratleb 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, $ nihe , on valikuline ja seda saab kasutada otsingu lähtepositsiooni määramiseks.



Näide 1: sobitage muster väiketähtede ja suurtähtede vahel

Järgmine näide näitab funktsiooni preg_match () kasutamist stringi sobitamiseks väiketähtede ja nende vahel. Looge PHP -fail järgmise skriptiga.



Siin kasutatakse kolme mustrit kolme funktsiooni preg_match () rakendamiseks. Esimene muster, '/Meeldib/', kasutatakse stringi sobitamiseks tõstutundlikul viisil. Teine muster, '/Meeldib/' , kasutatakse stringi sobitamiseks tõstutundlikul viisil. Kolmas muster, 'Nagu mina' , kasutatakse stringi sobitamiseks väiketähtede suhtes. search_pattern () funktsioon on skriptis määratletud, et kasutada sobitamiseks funktsiooni preg_match (), ja prindib sõnumi selle funktsiooni tagastatud väärtuse põhjal.







// Määrake tekst

$ tekst = 'Mulle meeldib PHP. Mulle meeldib ka JavaScript. ';

// Määrake kolme tüüpi mustrid

$ muster1 = '/Meeldib/';

$ muster2 = '/meeldib/';

$ muster3 = '/Nagu mina';

// Määrake tekstist mustri otsimise funktsioon

funktsioonisearch_pattern($ muster, $ string)

{

kui( preg_match ($ muster, $ string))

viskas välja 'Otsingutulemus: Mustri jaoks leiti sobivus -$ muster
'
;

muidu

viskas välja 'Otsingutulemus: Mustri vastet ei leitud -$ muster
'
;

}

// Printige originaaltekst

viskas välja 'Algne tekst on järgmine: $ tekst
'
;

// Helistage funktsioonile kolm korda kolme mustri saamiseks

search_pattern($ muster1, $ tekst);

search_pattern($ muster2, $ tekst);

search_pattern($ muster3, $ tekst);

?>

Väljund :

Pärast skripti käivitamist serverist kuvatakse järgmine väljund. Esimene rida näitab teksti, 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: kinnitage URL

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

Muutujale $ url on testimiseks määratud URL -i väärtus. Stringi „@^(?: Https: //)? ([^/]+) @I” kasutatakse funktsioonis preg_match () mustrina, et kontrollida, kas URL -aadress on õige või mitte. Kui see on kehtiv, prinditakse hostinimi ja domeeninimi, vastasel juhul prinditakse veateade.



// Määrake URL

$ url = 'https://www.linuxhint.com';

// Määrake URL -i valideerimise muster

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

// Kontrollige, kas URL on õige või mitte

kui( preg_match ($ muster, $ url, $ vasted1))

{

// Printige eduteade

viskas välja „URL on kehtiv.
'
;

// Prindige massiiv, mis sisaldab vasteväärtusi

viskas välja 'Massiivi väärtused on järgmised:';

print_r ($ vasted1);

// Hosti väärtuse toomine ja printimine

$ host = $ vasted1[1];

viskas välja '
Hosti nimi on:$ host'
;

// Otsi domeeninime hosti väärtusest

preg_match ('/[^.-lex.europa.eu+.[^.íritu+$/', $ host, $ vasted2);

viskas välja '
Domeeninimi on:{$ vastet2 [0]}'
;

}

muidu

{

// Printige veateade

viskas välja 'Vigane URL.';

}

?>

Väljund :

Pärast skripti käivitamist serverist kuvatakse järgmine väljund. Skriptis esitatud URL on kehtiv. Niisiis, väljund näitab $ vaste väärtusi, URL -i hostinime ja URL -i domeeninime.

Näide 3: Otsimismuster lipu- ja nihkeväärtustega

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

Skriptis kasutatakse kolme tüüpi sobitamiseks kolme mustrit. Esimeses funktsioonis preg_match () kasutatakse mustrina ‘/(bangla) (desh)/’ ja lipuväärtust PREG_OFFSET_CAPTURE. Väärtused $ vastet muutuja prinditakse esimese preg_match () funktsiooni väljundi põhjal. Teises funktsioonis preg_match () kasutatakse mustrina ‘/(bangla) (rõõmus)*(desh)/i’ ja kasutatakse lipuväärtust PREG_UNMATCHED_AS_NULL. Kui mustri mõni osa ei sobi, salvestatakse massiivi NULL väärtus. Väärtused $ vastet muutuja prinditakse teise preg_match () funktsiooni väljundi põhjal. Kolmandas funktsioonis preg_match () kasutatakse mustrina ‘/glad/’, kasutatakse lipuväärtust PREG_OFFSET_CAPTURE ja nihke väärtust 3. Väärtused $ vastet muutuja prinditakse kolmanda funktsiooni preg_match () väljundi põhjal.



// Määrake teksti väärtus

$ tekst = 'Bangladesh';

// Määrake kolme tüüpi mustrid

$ muster1 = ' / (bangla) (desh) / i';

$ muster2 = ' / (bangla) (hea meel) * (desh) / i';

$ muster3 = '/hea meel/';


// Lipu PREG_OFFSET_CAPTURE kasutamine

preg_match ($ muster1, $ tekst, $ vastet,PREG_OFFSET_CAPTURE);

viskas välja '
';  

print_r ($matches);

echo '

'
;

// Kasutades lippu PREG_UNMATCHED_AS_NULL

preg_match ($ muster2, $ tekst, $ vastet,PREG_UNMATCHED_AS_NULL);

viskas välja '
';  

print_r ($matches);

echo '

'
;

// PREG_OFFSET_CAPTURE lipu ja nihke väärtuse kasutamine

preg_match ($ muster3, $ tekst, $ vastet,PREG_OFFSET_CAPTURE, 3);

viskas välja '
';  

print_r ($matches);

echo '
'
;

?>

Väljund :

Pärast skripti käivitamist serverist kuvatakse järgmine väljund.

Järeldus

Funktsiooni preg_match () kasutusalasid on selles õpetuses selgitatud, kasutades mitmeid näiteid. Siin on näidatud ka selle funktsiooni erinevate argumentide kasutusviise. Pärast selle õpetuse lugemist saavad lugejad seda funktsiooni oma skriptis õigesti kasutada.