php

Funkcijas preg_match () izmantošana PHP

Funkcijas preg_match () izmantošana PHP

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

Regulārajai izteiksmei PHP pastāv daudzas iebūvētas funkcijas. funkcija preg_match () ir viena no tām. Šo funkciju izmanto, lai saskaņotu noteiktu modeli virknes datos. Kā preg_match () funkciju var izmantot PHP dažādu uzdevumu veikšanai, ir paskaidrots šajā apmācībā.

Sintakse:

Int vai false preg_match (virkne $ šablons, virkne $ tēma [, masīvs un $ atbilst = null [, int $ karogi = 0 [, int $ ofset = 0]]])

Šai funkcijai var būt pieci argumenti. Pirmais arguments, $ modelis, ir obligāta, kas nosaka saskaņošanas modeli. Otrais arguments, $ tēma, ir obligāta un satur virknes datus, kuros modelis tiks lietots. Trešais arguments, $ spēles, nav obligāts, un tas atgriež masīvu, pamatojoties uz spēli. Ceturtais arguments, $ karogi, nav obligāts, kas satur dažāda veida karodziņu vērtības, pamatojoties uz atbilstību. Piektais arguments, $ kompensācija, nav obligāts, un to var izmantot, lai definētu meklēšanas sākuma pozīciju.

1. piemērs: saskaņojiet modeli reģistrjutīgā un nejutīgā veidā

Šajā piemērā parādīta funkcijas preg_match () izmantošana virknes saskaņošanai reģistrjutīgā un nejutīgā veidā. Izveidojiet PHP failu ar šādu skriptu.

Šeit trīs modeļi tiek izmantoti, lai lietotu trīs funkcijas preg_match (). Pirmais modelis, '/ Patīk /', tiek izmantots virknes saskaņošanai reģistrjutīgā veidā. Otrais modelis, "/ patīk /", tiek izmantots virknes saskaņošanai reģistrjutīgā veidā. Trešais modelis, 'Kā es', tiek izmantots, lai virkni saskaņotu ar mazo un mazo burtu. search_pattern () Funkcija ir definēta skriptā, lai saskaņošanai izmantotu funkciju preg_match (), un tā izdrukā ziņojumu, pamatojoties uz šīs funkcijas atgriezto vērtību.

// Definējiet tekstu
$ text = "Man patīk PHP. Man patīk arī JavaScript.";
// Definējiet trīs modeļu veidus
$ pattern1 = '/ Patīk /';
$ pattern2 = '/ like /';
$ pattern3 = '/ Patīk / i';
// Definējiet funkciju raksta meklēšanai tekstā
funkcija search_pattern ($ modelis, $ virkne)

ja (preg_match ($ modelis, $ virkne))
echo "Meklēšanas rezultāts: Šim modelim ir atrasta atbilstība - $ modelis
";
cits
echo "Meklēšanas rezultāts: Atbilstība modelim nav atrasta - modelis $
";

// Izdrukājiet oriģinālo tekstu
atbalss "Sākotnējais teksts ir: $ teksts
";
// Trīs reizes izsauciet funkciju trīs modeļiem
search_pattern ($ modelis1, $ teksts);
search_pattern ($ modelis2, $ teksts);
search_pattern ($ modelis3, $ teksts);
?>

Rezultāts:

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

2. piemērs: Apstipriniet URL

Šajā piemērā parādīts veids, kā validēt URL adresi, izmantojot funkciju preg_match (). Izveidojiet PHP failu ar šādu skriptu.

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

// Definējiet URL
$ url = "https: // www.linuxhint.com ";
// Definējiet URL validēšanas modeli
$ modelis = '@ ^ (?: https: //)?([^ /] +) @ i ';
// Pārbaudiet, vai URL ir derīgs vai nav
ja (preg_match ($ modelis, $ url, $ atbilst1))

// Izdrukājiet veiksmes ziņojumu
echo "URL ir derīgs.
";
// Izdrukājiet masīvu, kurā ir atbilstības vērtības
echo "Masīva vērtības ir:";
print_r ($ atbilstības1);
// Ielādējiet un izdrukājiet resursdatora vērtību
$ resursdators = $ atbilst1 [1];
atbalss "
Resursdatora nosaukums ir: $ resursdators ";
// Meklējiet domēna nosaukumu no resursdatora vērtības
preg_match ('/ [^.] + \.[^.] + $ / ', $ resursdators, $ sērkociņi2);
atbalss "
Domēna nosaukums ir: $ match2 [0] ";

cits

// Izdrukājiet kļūdas ziņojumu
atbalss "Nederīgs URL.";

?>

Rezultāts:

Pēc skripta palaišanas no servera parādīsies šāda izeja. 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 karodziņa un nobīdes vērtībām

Šis piemērs parāda karodziņa un nobīdes vērtību lietojumus funkcijā preg_match (). Izveidojiet PHP failu ar šādu skriptu.

Skriptā trīs veidu saskaņošanai tiek izmantoti trīs modeļi. Pirmajā funkcijā preg_match () kā raksts un karodziņa vērtība tiek izmantota “/ (bangla) (desh) /”, tiek izmantota PREG_OFFSET_CAPTURE. Vērtības $ spēles mainīgais tiks drukāts, pamatojoties uz pirmās preg_match () funkcijas izvadi. Otrajā funkcijā preg_match () kā raksts un karodziņa vērtība tiek izmantota '/ (bangla) (priecīgs) * (desh) / i', tiek izmantots PREG_UNMATCHED_AS_NULL. Ja kāda modeļa 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ā modelis tiek izmantots “/ priecīgs /”, tiek izmantota karoga vērtība, PREG_OFFSET_CAPTURE un 3 - 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
$ text = "Bangladeša";
// Definējiet trīs veidu modeļus
$ pattern1 = '/ (bangla) (desh) / i';
$ pattern2 = '/ (bangla) (priecīgs) * (desh) / i';
$ modelis3 = '/ priecīgs /';
// Izmantojot karogu PREG_OFFSET_CAPTURE
preg_match ($ modelis1, $ teksts, $ sakritība, PREG_OFFSET_CAPTURE);
atbalss "
";
print_r ($ atbilst);
atbalss "

";
// Izmantojot PREG_UNMATCHED_AS_NULL karodziņu
preg_match ($ modelis2, $ teksts, $ sakritība, PREG_UNMATCHED_AS_NULL);
atbalss "
";
print_r ($ atbilst);
atbalss "

";
// Izmantojot PREG_OFFSET_CAPTURE karodziņu un nobīdes vērtību
preg_match ($ modelis3, $ teksts, $ sakritība, PREG_OFFSET_CAPTURE, 3);
atbalss "
";
print_r ($ atbilst);
atbalss "
";
?>

Rezultāts:

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

Secinājums

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

Labākie Linux spēļu konsoles emulatori
Šajā rakstā tiks uzskaitīta populārā Linux spēļu konsoles atdarināšanas programmatūra. Emulācija ir programmatūras saderības slānis, kas atdarina spēļ...
Labākie Linux spēļu draiveri 2021. gadā
Linux operētājsistēma ir gājusi tālu no sākotnējā, vienkāršā uz serveriem balstītā izskata. Šī operētājsistēma pēdējos gados ir ārkārtīgi uzlabojusies...
Kā tvert un straumēt spēļu sesiju operētājsistēmā Linux
Agrāk spēļu spēlēšana tika uzskatīta tikai par hobiju, taču laika gaitā spēļu industrija piedzīvoja milzīgu tehnoloģiju un spēlētāju skaita pieaugumu....