preg_split

(PHP 3>= 3.0.9, PHP 4 )

preg_split -- Sztringet darabol fel reguláris kifejezésre illeszkedő részei mentén

Leírás

array preg_split ( string pattern, string subject [, int limit [, int flags]])

Megjegyzés: A flags paraméterrel a PHP 4 Beta 3-ban lett kiegészítve.

Ez a függvény a pattern minta illesztésének határai mentén darabolja fel a subject szöveget, és a szövegdarabokat tömbbe összefogva adja vissza.

Ha a limit meg van adva, akkor csak limit számú elemmel tér vissza. A limit értéke lehet -1 (jelentése: nincs korlát), és ez akkor hasznos, ha a flags paramétert egy konkrét korlát megadása nélkül kell beállítani.

A flags a következő jelzőknek bármilyen kombinációja lehet a ( bitszintű | operátorral):

PREG_SPLIT_NO_EMPTY

Ekkor csak a nem üres szövegrészeket adja vissza a preg_split().

PREG_SPLIT_DELIM_CAPTURE

Ekkor a kerekzárójelek közé fogott ("gyűjtő") részmintára illeszkedő szövegrészeket is visszadja a függvény. Ez a jelző 4.0.5 verzió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ó.

Példa 1. preg_split() példa : a keresett szöveg kucslszavait adja vissza.

// Feldarabolja a kifejezést vesszők és térközkarakterek mentén,
// amelyek a következők " ", \r, \t, \n és \f .
$kulcsszavak = preg_split ("/[\s,]+/", "hypertext language, programming");

Példa 2. Sztring karakterekre darabolása

$sztring = 'karakterfűzér';
$karakterek = preg_split('//', $sztring, -1, PREG_SPLIT_NO_EMPTY);
print_r($karakterek);

Példa 3. Az illeszkedések és a pozicióik a szöveg feldarabolása után

$sztring = 'hypertext language programming';
$szavak  = preg_split('/ /', $sztring, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($szavak);

will yield

Array
(
    [0] => Array
        (
            [0] => hypertext
            [1] => 0
        )

    [1] => Array
        (
            [0] => language
            [1] => 10
        )

    [2] => Array
        (
            [0] => programming
            [1] => 19
        )
)

Lásd még: spliti(), split(), implode(), preg_match(), preg_match_all() és preg_replace()!