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