Funkce preg_split

Funkce preg_split rozděluje řetězec na prvky pole pomocí regulárního výrazu pro hledání oddělovačů. První parametr přijímá regulární výraz, druhý - zdrojový řetězec. Třetí volitelný parametr nastavuje počet prvků pole ve výsledku. Čtvrtý volitelný parametr nastavuje příznaky, které mění chování funkce.

Syntaxe

phppreg_split(pattern, subject, [limit], [flags]);

Příznaky

Příznak Konstanta Popis
PREG_SPLIT_NO_EMPTY 1 Vrací pouze neprázdné části po rozdělení.
PREG_SPLIT_DELIM_CAPTURE 2 Zachytí a vrátí části shody s dílčími vzory v regulárním výrazu.
PREG_SPLIT_OFFSET_CAPTURE 4 Pro každou vrácenou část přidá její pozici v původním řetězci.

Příklad

Rozdělme řetězec podle čárek:

php<?php
  $res = preg_split('/,/', 'a,b,c,d,e');
  var_dump($res);
?>

Výsledek provedení kódu:

php['a', 'b', 'c', 'd', 'e']

Příklad

Rozdělme řetězec podle jakýchkoli prázdných znaků s omezením počtu prvků:

php<?php
  $res = preg_split('/\s+/', '1 2 3 4 5', 3);
  var_dump($res);
?>

Výsledek provedení kódu:

php['1', '2', '3 4 5']

Příklad

Použití příznaku PREG_SPLIT_NO_EMPTY pro vyloučení prázdných prvků:

php<?php
  $res = preg_split('/[,\s]/', 'a,b, c, ,d', -1, PREG_SPLIT_NO_EMPTY);
  var_dump($res);
?>

Výsledek provedení kódu:

php['a', 'b', 'c', 'd']

Viz také

  • funkci preg_match,
    která provádí vyhledávání pomocí regulárního výrazu
  • funkci explode,
    která rozděluje řetězec podle jednoduchého oddělovače