Funkcijas preg_match () izmantošana PHP

Use Preg_match Function Php



Regulārā izteiksme ir īpašs modelis, ko var izmantot, lai saskaņotu, meklētu un aizstātu jebkuru noteiktu teksta datu virkni. Tā ir spēcīga jebkuras programmēšanas valodas iezīme. To galvenokārt izmanto, lai veiktu dažāda veida veidlapu apstiprināšanu, piemēram, e -pasta apstiprināšanu, tālruņa formāta pārbaudi, pieteikšanās veidlapas lietotājvārda un paroles lauku apstiprināšanu utt. Jebkuru konkrētu teksta saturu var meklēt un aizstāt, izmantojot regulāru izteiksmi modelis. To sauc arī par regex vai RegExp. Regulārās izteiksmes noteikšanai tiek izmantoti dažādi simbolu veidi.

PHP regulārajai izteiksmei ir daudzas iebūvētas funkcijas. Funkcija preg_match () ir viena no tām. Šo funkciju izmanto, lai virknes datos saskaņotu konkrētu modeli. Šajā apmācībā ir izskaidrots, kā funkciju preg_match () var izmantot PHP dažādu uzdevumu veikšanai.







Sintakse:

Int vainepatiesa preg_match (virkne$ modelis,virkne$ tēma [, masīvs &$ spēles = null [,int$ karogi = 0 [,int$ nobīde = 0]]])

Šai funkcijai var būt pieci argumenti. Pirmais arguments, $ modelis , ir obligāta, kas nosaka atbilstības modeli. Otrs arguments, $ tēma , ir obligāta, un tajā ir ietverti virknes dati, kuros tiks izmantots modelis. Trešais arguments, $ spēles , nav obligāta, un tas atgriež masīvu, pamatojoties uz atbilstību. Ceturtais arguments, $ karogi , nav obligāta, un tajā ir dažāda veida karoga vērtības, pamatojoties uz atbilstību. Piektais arguments, $ nobīde , nav obligāta, un to var izmantot, lai definētu meklēšanas sākuma pozīciju.



1. piemērs: saskaņojiet modeli, reģistrjutīgo un reģistrjutīgo

Nākamajā piemērā ir parādīta funkcijas preg_match () izmantošana virknes saskaņošanai, reģistrjutīgajā un reģistrjutīgajā veidā. Izveidojiet PHP failu ar šādu skriptu.



Šeit trīs modeļi tiek izmantoti, lai lietotu trīs preg_match () funkcijas. Pirmais modelis, '/Patīk/', tiek izmantota virknes saskaņošanai, reģistrjutīgajā veidā. Otrais modelis, '/Patīk/' , tiek izmantota virknes saskaņošanai, reģistrjutīgajā veidā. Trešais modelis, 'Kā es' , tiek izmantota virknes saskaņošanai, neņemot vērā reģistrus. search_pattern () funkcija ir definēta skriptā, lai izmantotu preg_match () funkciju saskaņošanai, un tā izdrukā ziņojumu, pamatojoties uz šīs funkcijas atgriezto vērtību.







// Definējiet tekstu

$ teksts = 'Man patīk PHP. Man arī patīk JavaScript. ';

// Definējiet trīs veidu modeļus

$ modelis1 = '/Patīk/';

$ modelis2 = '/patīk/';

$ modelis3 = '/Kā es';

// Definējiet teksta raksta meklēšanas funkciju

funkcijusearch_pattern($ modelis, $ virkne)

{

ja( preg_match ($ modelis, $ virkne))

izmest ārā 'Meklēšanas rezultāts: Šim modelim ir atrasta atbilstība -$ modelis
'
;

citādi

izmest ārā 'Meklēšanas rezultāts: Šim modelim nav atrasta atbilstība -$ modelis
'
;

}

// Izdrukājiet oriģinālo tekstu

izmest ārā 'Oriģinālais teksts ir šāds: $ teksts
'
;

// Izsauciet funkciju trīs reizes, lai iegūtu trīs modeļus

search_pattern($ modelis1, $ teksts);

search_pattern($ modelis2, $ teksts);

search_pattern($ modelis3, $ teksts);

?>

Izeja :

Pēc skripta palaišanas no servera parādīsies šāda izvade. Pirmajā rindā ir redzams teksts, kurā tika meklēti modeļi. Otrā rinda parāda pirmā modeļa izvadi. Trešā rinda parāda otrā modeļa izvadi. Ceturtā rinda parāda trešā modeļa izvadi.



2. piemērs. Apstipriniet URL

Šis piemērs parāda veidu, kā apstiprināt URL adresi, izmantojot funkciju preg_match (). Izveidojiet PHP failu ar šādu skriptu.

Pārbaudīšanai mainīgajā $ url tiek piešķirta URL vērtība. Virkne “@^(?: Https: //)? ([^/]+) @I” tiek izmantota kā paraugs funkcijā preg_match (), lai pārbaudītu, vai URL adrese ir derīga. Ja tas ir derīgs, resursdatora nosaukums un domēna nosaukums tiks izdrukāti, pretējā gadījumā tiks izdrukāts kļūdas ziņojums.



// Definējiet URL

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

// Definējiet URL apstiprināšanas modeli

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

// Pārbaudiet, vai URL ir derīgs

ja( preg_match ($ modelis, $ url, $ spēles1))

{

// izdrukājiet veiksmes ziņojumu

izmest ārā 'URL ir derīgs.
'
;

// Izdrukājiet masīvu, kurā ir atbilstības vērtības

izmest ārā 'Masīva vērtības ir šādas:';

print_r ($ spēles1);

// Izgūt un izdrukāt resursdatora vērtību

$ saimnieks = $ spēles1[1];

izmest ārā '
Saimnieka nosaukums ir:$ saimnieks'
;

// Meklējiet domēna nosaukumu no resursdatora vērtības

preg_match ('/[^.-lex.europa.eu+.[^.íritu+$/', $ saimnieks, $ spēles2);

izmest ārā '
Domēna nosaukums ir:{$ spēles2 [0]}'
;

}

citādi

{

// Izdrukājiet kļūdas ziņojumu

izmest ārā “Nederīgs URL”.;

}

?>

Izeja :

Pēc skripta palaišanas no servera parādīsies šāda izvade. Skriptā norādītais URL ir derīgs. Tātad, izvade parāda $ atbilstību vērtības, URL resursdatora nosaukumu un URL domēna nosaukumu.

3. piemērs: meklēšanas modelis ar karoga un nobīdes vērtībām

Šis piemērs parāda karoga un nobīdes vērtību izmantošanu funkcijā preg_match (). Izveidojiet PHP failu ar šādu skriptu.

Trīs atbilstības veidiem skriptā tiek izmantoti trīs modeļi. Pirmajā funkcijā preg_match () kā modelis tiek izmantots “/(bangla) (desh)/” un karoga vērtība, PREG_OFFSET_CAPTURE. Vērtības $ spēles mainīgais tiks drukāts, pamatojoties uz pirmās funkcijas preg_match () izvadi. Otrajā funkcijā preg_match () kā paraugs tiek izmantota “/(bangla) (priecīga)*(desh)/i” un karoga vērtība, PREG_UNMATCHED_AS_NULL. Ja kāda raksta daļa nesakrīt, masīvā tiks saglabāta NULL vērtība. Vērtības $ spēles mainīgais tiks drukāts, pamatojoties uz otrās funkcijas preg_match () izvadi. Trešajā funkcijā preg_match () kā paraugs tiek izmantota “/glad/”, karoga vērtība PREG_OFFSET_CAPTURE un 3 tiek izmantota kā nobīdes vērtība. Vērtības $ spēles mainīgais tiks drukāts, pamatojoties uz trešās funkcijas preg_match () izvadi.



// Definējiet teksta vērtību

$ teksts = 'Bangladeša';

// Definējiet trīs veidu modeļus

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

$ modelis2 = ' / (bangla) (priecīgs) * (desh) / i';

$ modelis3 = '/priecīgs/';


// Izmantojot karogu PREG_OFFSET_CAPTURE

preg_match ($ modelis1, $ teksts, $ spēles,PREG_OFFSET_CAPTURE);

izmest ārā '
';  

print_r ($matches);

echo '

'
;

// Izmantojot karogu PREG_UNMATCHED_AS_NULL

preg_match ($ modelis2, $ teksts, $ spēles,PREG_UNMATCHED_AS_NULL);

izmest ārā '
';  

print_r ($matches);

echo '

'
;

// Izmantojot karogu PREG_OFFSET_CAPTURE un nobīdes vērtību

preg_match ($ modelis3, $ teksts, $ spēles,PREG_OFFSET_CAPTURE, 3);

izmest ārā '
';  

print_r ($matches);

echo '
'
;

?>

Izeja :

Pēc skripta palaišanas no servera parādīsies šāda izvade.

Secinājums

Funkcijas preg_match () izmantošana šajā apmācībā ir izskaidrota, izmantojot vairākus piemērus. Šeit ir parādīts arī šīs funkcijas dažādu argumentu lietojums. Pēc šīs apmācības lasīšanas lasītāji varēs pareizi izmantot šo funkciju savā skriptā.