php

Toiminnon preg_match () käyttö PHP ssä

Toiminnon preg_match () käyttö PHP ssä

Säännöllinen lauseke on erityinen kuvio, jota voidaan käyttää vastaamaan, etsimään ja korvaamaan mikä tahansa merkkijono tekstidatassa. Se on tehokas ominaisuus mille tahansa ohjelmointikielelle. Sitä käytetään pääasiassa erityyppisten lomakkeiden tarkistuksiin, kuten sähköpostin vahvistamiseen, puhelimen muodon tarkistamiseen, kirjautumislomakkeen käyttäjänimen ja salasanan kenttien jne. Mikä tahansa tietyn tekstin sisältö voidaan hakea ja korvata säännöllisen lausekkeen avulla. Sitä kutsutaan myös regexiksi tai RegExp: ksi. Eri tyyppisiä symboleja käytetään määrittelemään regex-kuvio.

PHP: ssä on monia sisäänrakennettuja toimintoja säännölliselle lausekkeelle. preg_match () -funktio on yksi niistä. Tätä toimintoa käytetään tietyn mallin sovittamiseen merkkijonotiedoissa. Kuinka preg_match () -funktiota voidaan käyttää PHP: ssä erilaisten tehtävien suorittamiseen, selitetään tässä opetusohjelmassa.

Syntaksi:

Int tai väärä preg_match (merkkijono $ kuvio, merkkijono $ aihe [, taulukko & $ ottelut = null [, int $ flags = 0 [, int $ offset = 0]]])

Tämä toiminto voi sisältää viisi argumenttia. Ensimmäinen argumentti, $ kuvio, on pakollinen, mikä määrittää yhteensopivuuden mallin. Toinen väite, $ aihe, on pakollinen ja sisältää merkkijonotiedot, joissa mallia käytetään. Kolmas väite, $ ottelut, on valinnainen ja palauttaa matriisin ottelun perusteella. Neljäs väite, $ lippua, on valinnainen, joka sisältää erityyppisiä lippuarvoja ottelun perusteella. Viides väite, $ offset, on valinnainen, ja sitä voidaan käyttää haun aloituskohdan määrittämiseen.

Esimerkki 1: Yhdistä malli kirjainkoon mukaan

Seuraava esimerkki näyttää funktion preg_match () käytön merkkijonon sovittamiseksi isoissa ja pienissä kirjainkokoissa. Luo PHP-tiedosto seuraavalla komentosarjalla.

Tässä käytetään kolmea mallia sovellettaessa kolmea preg_match () -funktiota. Ensimmäinen kuvio, '/Kuten/', käytetään merkkijonon sovittamiseen isot ja pienet kirjaimet. Toinen malli, '/Kuten/', käytetään merkkijonon sovittamiseen isot ja pienet kirjaimet. Kolmas kuvio, 'Kuten minä', käytetään merkkijonon sovittamiseen isot ja pienet kirjaimet. hakukuvio () funktio on määritetty komentosarjassa käyttämään preg_match () -funktiota sovituksessa, ja se tulostaa viestin tämän funktion palautetun arvon perusteella.

// Määritä teksti
$ text = "Pidän PHP: stä. Pidän myös JavaScriptistä.";
// Määritä kolme kuviotyyppiä
$ pattern1 = '/ Tykkää /';
$ pattern2 = '/ kuten /';
$ pattern3 = '/ Tykkää / i';
// Määritä toiminto kuvion hakemiseksi tekstistä
function search_pattern ($ kuvio, $ merkkijono)

if (preg_match ($ kuvio, $ merkkijono))
echo "Hakutulos: Kaavalle löytyi osuma - $ kuvio
";
muu
echo "Hakutulos: Hakua ei löydy - kuvio $
";

// Tulosta alkuperäinen teksti
kaiku "Alkuperäinen teksti on: $ teksti
";
// Kutsu funktiota kolme kertaa kolmelle kuviolle
haku_malli ($ kuvio1, $ teksti);
haku_malli ($ kuvio2, $ teksti);
haku_malli ($ kuvio3, $ teksti);
?>

Tuotos:

Seuraava tulos tulee näkyviin, kun komentosarja on suoritettu palvelimelta. Ensimmäisellä rivillä näkyy teksti, josta malleja haettiin. Toinen rivi näyttää ensimmäisen kuvion tuloksen. Kolmas rivi näyttää toisen kuvion tuloksen. Neljäs rivi näyttää kolmannen kuvion tuloksen.

Esimerkki 2: Vahvista URL-osoite

Seuraava esimerkki näyttää tavan vahvistaa URL-osoite preg_match () -toiminnon avulla. Luo PHP-tiedosto seuraavalla komentosarjalla.

URL-arvo määritetään testattavaksi muuttujaan $ url. '@ ^ (?: https: //)?([^ /] +) @ i '-merkkijonoa käytetään mallina preg_match () -toiminnossa tarkistamaan, onko URL-osoite kelvollinen vai ei. Jos se on kelvollinen, isäntänimi ja verkkotunnus tulostetaan, muuten virheilmoitus tulostetaan.

// Määritä URL-osoite
$ url = "https: // www.linuxhint.com ";
// Määritä URL-osoitteen vahvistuskuvio
$ pattern = '@ ^ (?: https: //)?([^ /] +) @ i ';
// Tarkista, että URL-osoite on kelvollinen
if (preg_match ($ kuvio, $ url, $ ottelut1))

// Tulosta menestysviesti
echo "URL on kelvollinen.
";
// Tulosta taulukko, joka sisältää osuma-arvot
echo "Matriisin arvot ovat:";
tulosta_r ($ osumia1);
// Nouda ja tulosta isäntäarvo
$ host = $ ottelut1 [1];
kaiku "
Isäntänimi on: $ host ";
// Hae verkkotunnuksen nimi isäntäarvosta
preg_match ('/ [^.] + \.[^.] + $ / ', $ isäntä, $ ottelut2);
kaiku "
Verkkotunnuksen nimi on: $ match2 [0] ";

muu

// Tulosta virhesanoma
echo "Virheellinen URL.";

?>

Tuotos:

Seuraava tulos tulee näkyviin, kun komentosarja on suoritettu palvelimelta. Komentosarjassa annettu URL on kelvollinen. Joten lähtö näyttää $-vastaavuuksien arvot, URL-osoitteen isäntänimen ja URL-osoitteen verkkotunnuksen nimen.

Esimerkki 3: Hakumalli lippu- ja offset-arvoilla

Seuraava esimerkki näyttää lipun ja siirtymäarvojen käytön preg_match () -funktiossa. Luo PHP-tiedosto seuraavalla komentosarjalla.

Komentosarjassa käytetään kolmea mallia kolmen tyyppiseen sovittamiseen. Ensimmäisessä funktiossa preg_match () '/ (bangla) (desh) /' käytetään kuviona ja lippuarvona PREG_OFFSET_CAPTURE. Arvot $ ottelut muuttuja tulostaa ensimmäisen preg_match () -funktion tuloksen perusteella. Toisessa funktiossa preg_match () '/ (bangla) (iloinen) * (desh) / i' käytetään kuviona ja lippuarvona PREG_UNMATCHED_AS_NULL. Jos jokin kuvion osa ei täsmää, matriisiin tallennetaan NULL-arvo. Arvot $ ottelut muuttuja tulostaa toisen preg_match () -funktion tuloksen perusteella. Kolmannessa preg_match () -funktiossa '/ glad /' käytetään kuviona, lippuarvoa PREG_OFFSET_CAPTURE ja 3 käytetään offset-arvona. Arvot $ ottelut muuttuja tulostaa kolmannen preg_match () -funktion tuloksen perusteella.

// Määritä tekstiarvo
$ text = "Bangladesh";
// Määritä kolmen tyyppiset mallit
$ pattern1 = '/ (bangla) (desh) / i';
$ pattern2 = '/ (bangla) (iloinen) * (desh) / i';
$ pattern3 = '/ iloinen /';
// PREG_OFFSET_CAPTURE-lipun käyttö
preg_match ($ kuvio1, $ teksti, $ osumat, PREG_OFFSET_CAPTURE);
kaiku "
";
tulosta_r ($ osumia);
kaiku "

";
// PREG_UNMATCHED_AS_NULL-lipun käyttö
preg_match ($ kuvio2, $ teksti, $ osumat, PREG_UNMATCHED_AS_NULL);
kaiku "
";
tulosta_r ($ osumia);
kaiku "

";
// PREG_OFFSET_CAPTURE-lipun ja offset-arvon käyttäminen
preg_match ($ kuvio3, $ teksti, $ osumat, PREG_OFFSET_CAPTURE, 3);
kaiku "
";
tulosta_r ($ osumia);
kaiku "
";
?>

Tuotos:

Seuraava tulos tulee näkyviin, kun komentosarja on suoritettu palvelimelta.

Johtopäätös

Toiminnon preg_match () käyttötarkoitukset on selitetty tässä opetusohjelmassa useiden esimerkkien avulla. Tämän funktion eri argumenttien käyttö on myös esitetty tässä. Lukijat voivat käyttää tätä toimintoa oikein komentosarjassaan tämän opetusohjelman lukemisen jälkeen.

Battle For Wesnoth 1.13.6 Development Released
Battle For Wesnoth 1.13.6 released last month, is the sixth development release in the 1.13.x series and it delivers a number of improvements, most no...
League of Legendsin asentaminen Ubuntu 14 een.04
Jos olet League of Legendsin fani, tämä on sinulle mahdollisuus testata League of Legendsia. Huomaa, että PlayOnLinux tukee LOLia, jos olet linux-käyt...
Asenna uusin OpenRA-strategiapeli Ubuntu Linuxiin
OpenRA on ilmainen / ilmainen reaaliaikainen strategiapelimoottori, joka luo uudet Westwood-pelit, kuten klassinen Command & Conquer: Red Alert. Hajau...