Kuinka käyttää preg_match_all()-funktiota PHP:ssä

Kuinka Kayttaa Preg Match All Funktiota Php Ssa



preg_match_all() on PHP:n sisäänrakennettu funktio, jota käytetään vastaamaan merkkijonon tiettyä kuviota. Tämän toiminnon avulla voit suorittaa säännöllisten lausekkeiden osumia ja poimia tietoja merkkijonoista. Se voi säästää aikaa ja vaivaa tapauksissa, joissa sinun on etsittävä useita kuvion esiintymiä, ja sitä käytetään laajalti PHP:n tekstin jäsennys- ja tiedonpoistosovelluksissa.

Syntaksi

Seuraavassa on syntaksi preg_match_all PHP:ssä:







preg_match_all ( kuvio , syöttö , Ottelut , liput , offset )

The preg_match_all hyväksyy seuraavat parametrit, kolme on pakollisia ja kaksi valinnaisia:



  • kuvio : Se on pakollinen parametri; se sisältää säännöllisen lausekkeen, joka täytyy etsiä.
  • syöttö : Toinen on myös pakollinen parametri, koska se on merkkijono, jossa haku suoritetaan.
  • Ottelut : Se tallentaa tulosteen taulukkoon, joka sisältää kaikki osumat.
  • liput : Se kuvaa, kuinka haku- tai vastaavuustaulukko on rakennettu. Se muuttaa funktiohaun käyttäytymistä. Seuraavia lippuja voidaan käyttää:
  • offset : Se on valinnainen parametri, joka määrittää haun aloituspaikan.
Lippu Kuvaus
PREG_PATTERN_ORDER Tuloksena olevassa taulukossa on kaikki taulukon osumat kullekin säännöllisen lausekkeen elementille.
PREG_SET_ORDER Osumataulukon elementit sisältävät kukin osumia jokaisesta ryhmittelystä yhdelle merkkijonosta löydetylle vastaavuudelle.
PREG_OFFSET_CAPTURE Se palauttaa osumat niitä vastaavien tavupoikkeamapaikkojen kanssa aihemerkkijonossa.
PREG_UNMATCHED_AS_NULL Vastaamattomat mallit raportoidaan NULL-muodossa.

Esimerkki 1

Harkitse seuraavaa esimerkkiä preg_match_all() toiminto PHP:ssä. Tässä koodissa etsimme sanaa Linux merkkijonossa. Tämä toiminto tulostaa sanalle löydettyjen osumien määrän Linux :





$string = 'Hei Linux-harrastajat, tervetuloa LinuxHintiin!' ;

$kuvio = '/Linux/' ;

$osumaa = joukko ( ) ;

preg_match_all ( $kuvio , $string , $osumaa ) ;

print_r ( $osumaa [ 0 ] ) ;

?>





Esimerkki 2

Tässä esimerkkikoodissa etsimme sanaa E merkkijonosta. Pientä i-kirjainta käytetään haun kirjainkoon erotteluun. Se palauttaa kaikki sanan E tai e merkkijonoesiintymät:



$string = 'TERVETULOA Yhdysvaltoihin.' ;

$patternRex = '/E/i' ;

$ matchFound = preg_match_all ( $patternRex , $string , $osumaa ) ;

jos ( $ matchFound ) {

kaiku '
'  ; 

print_r ( $osumaa ) ;

}

?>



Esimerkki 3

Jos etsimääsi kuviota ei löydy merkkijonosta, funktio palauttaa epätosi, mikä tarkoittaa virhettä. Voit käsitellä tätä käyttämällä if-else-lauseita. Jos kuviota ei löydy, voit tulostaa viestin else-käskyllä ​​ilmoittaaksesi käyttäjälle, että kuviota ei löydy.



$string = 'PHP on suosittu skriptikieli' ;

$patternRex = '/peE/' ;

$ matchFound = preg_match_all ( $patternRex , $string , $osumaa ) ;

jos ( $ matchFound ) {

kaiku '
'  ; 

kaiku 'Osu löytyi.' ;

print_r ( $osumaa ) ;

} muu {

kaiku 'Osumia ei löytynyt.' ;

}

?>

Huomautus :

   -tagia yllä olevassa koodissa käytetään tulosteen muotoiluun.

Bottom Line

Säännölliset lausekkeet ovat tehokas työkalu tekstin etsimiseen ja käsittelyyn PHP:ssä. The preg_match_all() -funktio on sisäänrakennettu PHP-funktio, jota käytetään suorittamaan säännöllisen lausekkeen vastaavuus merkkijonoa vastaan ​​ja hakemaan kaikki kuvion esiintymät. Jos kuviota ei ole olemassa, se palauttaa epätosi. Ymmärtäminen preg_match_all() toiminto auttaa käyttäjiä käsittelemään ja käsittelemään tekstidataa paremmin PHP:ssä.