Preg_match () -toiminnon käyttö PHP: ssä

Use Preg_match Function Php



Säännöllinen lauseke on erityinen kuvio, jota voidaan käyttää tekstitiedoissa olevien tiettyjen merkkijonojen täsmäämiseen, etsimiseen ja korvaamiseen. Se on voimakas ominaisuus mille tahansa ohjelmointikielelle. Sitä käytetään pääasiassa erilaisten lomakkeiden validointeihin, kuten sähköpostin vahvistamiseen, puhelimen muodon tarkistamiseen, kirjautumislomakkeen käyttäjänimen ja salasanan kenttien vahvistamiseen jne. Mitä tahansa tekstin sisältöä voidaan etsiä ja korvata säännöllisellä lausekkeella kuvio. Sitä kutsutaan myös regexiksi tai RegExp: ksi. Reggex -kuvion määrittämiseen käytetään erityyppisiä symboleja.

PHP: ssä on monia sisäänrakennettuja toimintoja säännölliselle lausekkeelle. preg_match () -funktio on yksi niistä. Tätä toimintoa käytetään vastaamaan tiettyä mallia merkkijonotiedoissa. Tässä opetusohjelmassa selitetään, kuinka preg_match () -toimintoa voidaan käyttää PHP: ssä eri tehtävien suorittamiseen.





Syntaksi:

Int taiväärä preg_match (merkkijono$ kuvio,merkkijono$ aihe [, matriisi &$ vastaa = tyhjä [,int$ lippuja = 0 [,int$ offset = 0]]])

Tämä funktio voi kestää viisi argumenttia. Ensimmäinen argumentti, $ kuvio , on pakollinen, mikä määrittää vastaavuuden mallin. Toinen argumentti, $ aihe , on pakollinen ja sisältää merkkijonotiedot, joissa mallia käytetään. Kolmas argumentti, $ vastaa , on valinnainen ja palauttaa taulukon ottelun perusteella. Neljäs argumentti, $ lippuja , on valinnainen, joka sisältää erityyppisiä lippuarvoja ottelun perusteella. Viides argumentti, $ offset , on valinnainen, ja sitä voidaan käyttää haun aloituskohdan määrittämiseen.



Esimerkki 1: Sovita kuvio kirjainkoolla ja kirjainkokolla

Seuraavassa esimerkissä esitetään preg_match () -funktion käyttö merkkijonon vastaamiseksi kirjainkoolla ja kirjainkokolla. Luo PHP -tiedosto seuraavalla komentosarjalla.



Tässä kolmea mallia käytetään kolmessa preg_match () -funktiossa. Ensimmäinen malli, '/Kuten/', käytetään merkkijonon täsmäyttämiseen kirjainkoolla. Toinen kuvio, '/Kuten/' , käytetään merkkijonon täsmäyttämiseen kirjainkoolla. Kolmas kuvio, 'Kuten minä' , käytetään merkkijonon sovittamiseen kirjainkoolla erottamattomalla tavalla. search_pattern () -funktio on määritetty komentosarjassa käyttämään preg_match () -funktiota vastaavuuden määrittämiseen, ja se tulostaa viestin tämän funktion palautetun arvon perusteella.







// Määritä teksti

$ teksti = 'Pidän PHP: stä. Pidän myös JavaScriptistä. ';

// Määrittele kolmenlaisia ​​kuvioita

$ kuvio 1 = '/Kuten/';

$ kuvio2 = '/Kuten/';

$ kuvio 3 = '/Kuten minä';

// Määritä toiminto tekstin kuvion etsimiseksi

toimintosearch_pattern($ kuvio, $ merkkijono)

{

jos( preg_match ($ kuvio, $ merkkijono))

heitti pois 'Hakutulos: Kuvio vastaa -$ kuvio
''
;

muu

heitti pois 'Hakutulos: Mallin vastaavuutta ei löydy -$ kuvio
''
;

}

// Tulosta alkuperäinen teksti

heitti pois 'Alkuperäinen teksti on: $ teksti
''
;

// Soita funktiolle kolme kertaa saadaksesi kolme mallia

search_pattern($ kuvio 1, $ teksti);

search_pattern($ kuvio2, $ teksti);

search_pattern($ kuvio 3, $ teksti);

?>

Lähtö :

Seuraava tulos tulee näkyviin, kun komentosarja on suoritettu palvelimelta. Ensimmäinen rivi näyttää tekstin, josta kuvioita etsittiin. 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 käyttämällä preg_match () -funktiota. Luo PHP -tiedosto seuraavalla komentosarjalla.

Muuttujalle $ url määritetään URL -osoite testausta varten. Merkkijonoa '@^(?: Https: //)? ([^/]+) @I' käytetään mallina preg_match () -funktiossa sen tarkistamiseksi, onko URL -osoite kelvollinen vai ei. Jos se on kelvollinen, isäntänimi ja verkkotunnus tulostetaan, muuten virheviesti tulostetaan.



// Määritä URL -osoite

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

// Määritä URL -osoitteen vahvistusmalli

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

// Tarkista, onko URL -osoite kelvollinen vai ei

jos( preg_match ($ kuvio, $ url, $ ottelut 1))

{

// Tulosta onnistumisviesti

heitti pois 'URL -osoite on kelvollinen.
''
;

// Tulosta taulukko, joka sisältää vastaavuuden arvot

heitti pois 'Taulukon arvot ovat:';

print_r ($ ottelut 1);

// Hae ja tulosta isäntäarvo

$ isäntä = $ ottelut 1[1];

heitti pois ''
Isännän nimi on:$ isäntä''
;

// Hae verkkotunnuksen nimi isäntäarvosta

preg_match ('' /[^.-lex.europa.eu+.[^.íritu+$/ '', $ isäntä, $ ottelut2);

heitti pois ''
Verkkotunnuksen nimi on:{$ match2 [0]}''
;

}

muu

{

// Tulosta virheilmoitus

heitti pois 'Virheellinen URL.';

}

?>

Lähtö :

Seuraava tulos tulee näkyviin, kun komentosarja on suoritettu palvelimelta. Skriptissä annettu URL -osoite on kelvollinen. Tulos näyttää siis $ -haun arvot, URL -osoitteen isäntänimen ja URL -osoitteen verkkotunnuksen.

Esimerkki 3: Hakumalli lippu- ja siirtymäarvoilla

Seuraavassa esimerkissä esitetään lippu- ja siirtymäarvojen käyttö preg_match () -funktiossa. Luo PHP -tiedosto seuraavalla komentosarjalla.

Käsikirjoituksessa käytetään kolmea mallia kolmen tyyppisille hauille. Ensimmäisessä preg_match () -funktiossa kuviona käytetään '/(bangla) (desh)/' ja lippuarvoa PREG_OFFSET_CAPTURE. Arvot $ vastaa muuttuja tulostaa ensimmäisen preg_match () -funktion tuloksen perusteella. Toisessa preg_match () -funktiossa kuviona käytetään '/(bangla) (iloinen)*(desh)/i' ja lippuarvoa PREG_UNMATCHED_AS_NULL käytetään. Jos jokin kuvion osa ei täsmää, taulukkoon tallennetaan NULL -arvo. Arvot $ vastaa muuttuja tulostaa toisen preg_match () -funktion tuloksen perusteella. Kolmannessa preg_match () -funktiossa kuviona käytetään '/glad/', lippuarvoa PREG_OFFSET_CAPTURE ja 3 käytetään siirtymäarvona. Arvot $ vastaa muuttuja tulostaa kolmannen preg_match () -funktion tuloksen perusteella.



// Määritä tekstiarvo

$ teksti = 'Bangladesh';

// Määrittele kolmen tyyppisiä malleja

$ kuvio 1 = ' / (bangla) (desh) / i';

$ kuvio2 = ' / (bangla) (iloinen) * (desh) / i';

$ kuvio 3 = '/iloinen/';


// Käytä PREG_OFFSET_CAPTURE -lippua

preg_match ($ kuvio 1, $ teksti, $ vastaa,PREG_OFFSET_CAPTURE);

heitti pois '
';  

print_r ($matches);

echo '

''
;

// Käytetään PREG_UNMATCHED_AS_NULL -lippua

preg_match ($ kuvio2, $ teksti, $ vastaa,PREG_UNMATCHED_AS_NULL);

heitti pois '
';  

print_r ($matches);

echo '

''
;

// Käytä PREG_OFFSET_CAPTURE -lippua ja siirtymäarvoa

preg_match ($ kuvio 3, $ teksti, $ vastaa,PREG_OFFSET_CAPTURE, 3);

heitti pois '
';  

print_r ($matches);

echo '
'
;

?>

Lähtö :

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

Johtopäätös

Funktion preg_match () käyttöä on selitetty tässä opetusohjelmassa useilla esimerkeillä. Tässä on myös esitetty tämän funktion eri argumenttien käyttö. Lukijat voivat käyttää tätä toimintoa oikein käsikirjoituksessaan tämän opetusohjelman lukemisen jälkeen.