PHP kézikönyv
Előző
Következő
A subject szövegben egyezést keres a pattern mintában megadott reguláris kifejezéssel.
A matches paraméterrel meghívva a keresés végeredményét ebbe a tömbbe tárolja el a függvény.
A $matches[ 0] tartalmazza azt a szövegrészt, ami a teljes mintára illeszkedett, és a további elemek ($matches[1] és így tovább) azokat, amelyek a tömbindex szerinti "gyűjtő "részmintákra illeszkedtek.
A flags paraméter az alábbi értékeket veheti fel::
Minden egyezéshez az egyezés kezdőpozicióját is visszaadja az eredményben.
Ez maga után vonja, hogy a visszaadott tömb minden eleme olyan tömb lesz, amelynek a 0. indexe az illeszkedő szöveget tartalmazza, míg az 1. indexen levő elem ennek a subject -en belüli kezdőpozicióját.
Ez a jelzőbit PHP 4.3.0 verziójától használható.
A preg_match() a pattern talált egyezések számával tér vissza, azaz 0-val, ha nem volt egyezés, vagy 1-gyel, mert a preg_match() az első egyezés után megáll.
A preg_match_all() függvény ellenben a subject végéig folytatja a keresést és az illesztést.
A preg_match() FALSE -t ad vissza hiba esetén.
Példa 1.
A "php" sztring keresése
/ / az "i" a minta határolójele után azt jelzi, / / hogy a kis - és nagybetűkre közömbös a keresés. if (preg_match (" / php / i", "PHP a web-scripting nyelvek egyike .")) {print "A minta passzol .";} else {print "A minta nem passzol .";}
Példa 2.
A "web" szó keresése
/ / a mintában a \b szóhatárt jelöl, ezért csak a különálló / / "web" szavakra fog illeszkedni, és szórészletekre / / úgymint "webbing "vagy "cobweb" pedig nem. if (preg_match (" / \bweb\b / i", "PHP a web scripting nyelvek egyike .")) {print "A minta passzol .";} else {print "A match nem passzol .";} if (preg_match (" / \bweb\b / i", "PHP a website scripting nyelvek egyike .")) {print "A minta passzol .";} else {print "A match nem passzol .";}
Példa 3. domain-név kinyerése URL-ből
/ / gazdagép neve az URL-ből preg_match( "/ ^(http:\ / \/) ?([^\ / ]+) / i", "http: / /www.php.net / index.html", $matches); $host = $matches[2]; / / a gazdagépnév utolsó két része preg_match(" / [^\.\ / ]+\ .[^\.\ / ]+$ / ",$host,$matches); echo "A domain név: ".$matches[0] ."\n";
A domain név: php.net
Lásd még: preg_match_all(), preg_replace() és preg_split()!
Előző
Tartalom
Következő
Fel