php

A preg_match () függvény használata a PHP-ben

A preg_match () függvény használata a PHP-ben

A reguláris kifejezés egy olyan sajátos minta, amely felhasználható a szövegadatok bármely adott karakterláncának megfeleltetésére, keresésére és helyettesítésére. Bármely programozási nyelv erőteljes tulajdonsága. Főleg különböző típusú űrlap-ellenőrzések végrehajtására használják, például e-mail ellenőrzésére, a telefon formátumának ellenőrzésére, a bejelentkezési űrlap felhasználónevének és jelszavának mezőinek érvényesítésére stb. A szöveg bármely meghatározott tartalma kereshető és helyettesíthető egy reguláris kifejezésminta használatával. Regexnek vagy RegExp-nek is hívják. Különböző típusú szimbólumokat használunk a regex minta meghatározásához.

A PHP-ben sok beépített funkció létezik a reguláris kifejezéshez. A preg_match () függvény az egyik. Ezt a függvényt arra használjuk, hogy egy adott minta megfeleljen a karakterlánc-adatokban. Az oktatóanyag elmagyarázza, hogy a preg_match () függvény hogyan használható a PHP-ben különböző feladatok végrehajtására.

Szintaxis:

Int vagy hamis preg_match (karakterlánc $ minta, karakterlánc $ tárgy [, tömb és $ mérkőzések = null [, int $ flags = 0 [, int $ offset = 0]]])

Ennek a funkciónak öt argumentuma lehet. Az első érv, $ minta, kötelező, amely meghatározza az illesztés mintáját. A második érv, $ tárgy, kötelező, és tartalmazza azokat a karakterlánc-adatokat, amelyekben a mintát alkalmazni fogják. A harmadik érv, $ egyezik, opcionális, és egy tömböt ad vissza a mérkőzés alapján. A negyedik érv, $ zászlók, opcionális, amely az egyezés alapján különböző típusú jelzőértékeket tartalmaz. Az ötödik érv, $ ellentételezés, opcionális, és felhasználható a keresés kiinduló helyzetének meghatározására.

1. példa: Illessze össze a mintát kis- és nagybetűk között

A következő példa bemutatja a preg_match () függvény használatát a karakterlánc megkülönböztetéséhez kis- és nagybetűk között. Hozzon létre egy PHP fájlt a következő szkript segítségével.

Itt három mintát használunk három preg_match () függvény alkalmazásához. Az első minta, '/Mint/', a karakterlánc megkülönböztetésére használják a kis- és nagybetűket. A második minta, '/mint/', a karakterlánc megkülönböztetésére használják a kis- és nagybetűket. A harmadik minta, 'Mint én', a karakterlánc kis- és nagybetűk nélküli illesztésére szolgál. keresési_minta () A függvény a szkriptben van megadva, hogy a preg_match () függvényt használja az egyezéshez, és az üzenetet a függvény visszaadott értéke alapján nyomtatja ki.

// Definiálja a szöveget
$ text = "Szeretem a PHP-t. Szeretem a JavaScriptet is.";
// Határozzon meg háromféle mintát
$ pattern1 = '/ Tetszik /';
$ pattern2 = '/ like /';
$ pattern3 = '/ Like / i';
// Funkció meghatározása a mintában történő kereséshez a szövegben
függvény search_pattern ($ minta, $ string)

if (preg_match ($ minta, $ string))
echo "Keresési eredmény: Találat található a mintának - $ minta
";
más
echo "Keresési eredmény: Nem található egyezés a mintához - $ minta
";

// Az eredeti szöveg nyomtatása
echo "Az eredeti szöveg: $ text
";
// Háromszor hívja meg a függvényt három minta esetén
keresési_minta ($ minta1, $ szöveg);
keresési_minta ($ minta2, $ szöveg);
keresési_minta ($ minta3, $ szöveg);
?>

Kimenet:

A következő kimenet jelenik meg, miután a parancsfájlt futtatta a szerverről. Az első sor azt a szöveget mutatja, ahol a mintákat keresték. A második sor az első minta kimenetét mutatja. A harmadik sor a második minta kimenetét mutatja. A negyedik sor a harmadik minta kimenetét mutatja.

2. példa: Érvényesítse az URL-t

A következő példa bemutatja az URL-cím érvényesítésének módját a preg_match () függvény segítségével. Hozzon létre egy PHP fájlt a következő szkript segítségével.

URL-értéket rendelnek a $ url változóhoz tesztelés céljából. '@ ^ (?: https: //)?([^ /] +) @ i 'karakterlánc mintaként szolgál a preg_match () függvényben annak ellenőrzésére, hogy az URL-cím érvényes-e vagy sem. Ha érvényes, akkor a gazdagépnév és a domainnév kinyomtatásra kerül, ellenkező esetben a hibaüzenet jelenik meg.

// Adja meg az URL-t
$ url = "https: // www.linuxhint.com ";
// Adja meg az URL érvényesítésének mintáját
$ pattern = '@ ^ (?: https: //)?([^ /] +) @ i ';
// Ellenőrizze, hogy az URL érvényes-e vagy sem
if (preg_match ($ minta, $ url, $ match1))

// Nyomtassa ki a sikerüzenetet
echo "Az URL érvényes.
";
// Nyomtassa ki az egyezési értékeket tartalmazó tömböt
echo "A tömb értéke:";
print_r ($ egyezik1);
// A gazdagép lekérése és kinyomtatása
$ host = $ mérkőzések1 [1];
visszhang "
Gazdanév: $ host ";
// Keresse meg a domain nevet a gazdagép értékéből
preg_match ('/ [^.] + \.[^.] + $ / ', $ host, $ mérkőzések2);
visszhang "
A domain név: $ match2 [0] ";

más

// Nyomtassa ki a hibaüzenetet
echo "Érvénytelen URL.";

?>

Kimenet:

A következő kimenet jelenik meg, miután a parancsfájlt futtatta a szerverről. A szkriptben megadott URL érvényes. Tehát a kimenet megmutatja a $ egyezések értékét, az URL gazdagépnevét és az URL domainnevét.

3. példa: Keresési minta jelzővel és eltolással

Az alábbi példa bemutatja a flag és az offset értékek használatát a preg_match () függvényben. Hozzon létre egy PHP fájlt a következő szkript segítségével.

Három mintát használ a szkript háromféle egyeztetéshez. Az első preg_match () függvényben a '/ (bangla) (desh) /' mintát és a flag értéket használja, a PREG_OFFSET_CAPTURE. A. Értékei $ egyezik változó az első preg_match () függvény kimenete alapján fog kinyomtatni. A második preg_match () függvényben a '/ (bangla) (öröm) * (desh) / i' mintát és jelző értéket használjuk, a PREG_UNMATCHED_AS_NULL értéket. Ha a minta bármely része nem egyezik, akkor egy NULL értéket tárol a tömb. A. Értékei $ egyezik változó a második preg_match () függvény kimenete alapján fog nyomtatni. A harmadik preg_match () függvényben a '/ glad /' mintát, a flag értéket, a PREG_OFFSET_CAPTURE és a 3 értéket használja offset értékként. A. Értékei $ egyezik a változó a harmadik preg_match () függvény kimenete alapján fog kinyomtatni.

// Definiálja a szöveg értékét
$ text = "Banglades";
// Határozzon meg háromféle mintát
$ pattern1 = '/ (bangla) (desh) / i';
$ pattern2 = '/ (bangla) (örülök) * (desh) / i';
$ pattern3 = '/ öröm /';
// A PREG_OFFSET_CAPTURE zászló használata
preg_match ($ minta1, $ szöveg, $ egyezés, PREG_OFFSET_CAPTURE);
visszhang "
";
print_r ($ egyezik);
visszhang "

";
// A PREG_UNMATCHED_AS_NULL jelző használata
preg_match ($ minta2, $ szöveg, $ egyezés, PREG_UNMATCHED_AS_NULL);
visszhang "
";
print_r ($ egyezik);
visszhang "

";
// A PREG_OFFSET_CAPTURE jelző és az eltolt érték használata
preg_match ($ minta3, $ szöveg, $ egyezés, PREG_OFFSET_CAPTURE, 3);
visszhang "
";
print_r ($ egyezik);
visszhang "
";
?>

Kimenet:

A következő kimenet jelenik meg, miután a parancsfájlt futtatta a szerverről.

Következtetés

A preg_match () függvény használatát ebben az oktatóanyagban több példa segítségével ismertettük. A függvény különböző argumentumainak felhasználása itt is bemutatásra került. Az olvasók az oktatóanyag elolvasása után ezt a funkciót megfelelően használhatják szkriptjükben.

Az FPS növelése Linux alatt?
Az FPS jelentése Képkocka másodpercenként. Az FPS feladata a videolejátszások vagy játékteljesítmények képkockasebességének mérése. Egyszerű szavakkal...
A legnépszerűbb Oculus App Lab játékok
Ha Oculus fülhallgató-tulajdonos, akkor tisztában kell lennie az oldalsó töltéssel. Az oldaltöltés a nem áruházi tartalom fejhallgatóra történő telepí...
A legjobb 10 játék az Ubuntuban
A Windows platform a játékok egyik domináns platformja volt, mivel a játékokat hatalmas százalékban fejlesztik ma a natív Windows támogatására. Kihívh...