Ezekben a függvényekben használatos minták szintaktikája nagyon hasonlít a PERL-ben megismerthez. A kifejezéseket határolójelek közé kell rakni, például perjelek / közé. Az alfanumerikus karakterektől és a visszaperjeltől (\) eltekintve bármi használható határolójelként. Ha a határolójel magában a kifejezésben is szerepel, akkor egy visszaperjelet (\) kell eléírni. A PHP 4.0.4-s verziójától kezdve lehetőség van a (), {}, [], és <> párban álló határolók használatára, ahogy Perl-ben is.
A lezáró határolójelet különféle módosítók követhetik, amelyek a mintailleszkedést befolyásolják. Bővebben: Minta módosítók fejezet.
PHP a kiterjesztett POSIX reguláris kifejezéseket is támogatja.
A reguláris kifejezések támogatását a PCRE könyvtár biztosítja. Ez nyílt forráskódú szoftver, amit Philip Hazel írt, és a szerzői jogok az angliai Cambridge Egyetem tulajdona. A csomag hozzáférhető a ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ címen.
PHP 4.2.0 -től kezdve ezek függvények alapértelmezésben telepítve lesznek. Régebbi verziók esetén a PHP-t a --with-pcre-regex[=DIR] opcióval kellett fordítani. A függvényeket le lehet tiltani fordítás idején a --without-pcre-regex opció megadásával.
Az itt listázott állandókat ez a kiterjesztés definiálja, és csak akkor elérhetőek, ha az adott kiterjesztés be van fordítva a PHP-be, vagy dinamikusan betöltött.
Táblázat 1. PREG állandók
állandó | leírás |
---|---|
PREG_PATTERN_ORDER | Azt eredményezi, hogy a $matches[0] olyan tömb lesz, ahol az összes a teljes mintára illeszkedő szövegrész lesz egymás után, a $matches[1] tömbben pedig azok a szövegrészek, amelyek első "gyűjtő" részmintára illeszkednek, és így tovább. Ezt a preg_match_all() függvény paramétereként lehet használni. |
PREG_SET_ORDER | Azt eredményezi, hogy $matches[0]-ben az első illesztés eredményeit, a $matches[1] a másodikét fogja tartalmazni, és így tovább. Ezt a preg_match_all() függvény paramétereként lehet használni. |
PREG_OFFSET_CAPTURE | Lásd a PREG_SPLIT_OFFSET_CAPTURE állandót! Ez a PHP 4.3.0 verziójától használható. |
PREG_SPLIT_NO_EMPTY | Ennek hatására csak a nem üres elemeket adja vissza a preg_split() függvény eredményül. |
PREG_SPLIT_DELIM_CAPTURE | Ekkor a kerekzárójelek közé fogott ("gyűjtő") részmintára illeszkedő szövegrészeket is visszadja a preg_split() függvény. Ez a jelző a PHP 4.0.5 verziójától használható. |
PREG_SPLIT_OFFSET_CAPTURE | 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ó. |