Funkcja preg_split

Funkcja preg_split dzieli ciąg znaków na elementy tablicy, używając wyrażenia regularnego do wyszukiwania separatorów. Pierwszy parametr przyjmuje wyrażenie regularne, drugi - ciąg źródłowy. Trzeci parametr opcjonalny określa liczbę elementów tablicy w wyniku końcowym. Czwarty parametr opcjonalny określa flagi zmieniające zachowanie funkcji.

Składnia

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

Flagi

Flaga Stała Opis
PREG_SPLIT_NO_EMPTY 1 Zwraca tylko niepuste części po podziale.
PREG_SPLIT_DELIM_CAPTURE 2 Przechwytuje i zwraca części dopasowania z podwzorcem w wyrażeniu regularnym.
PREG_SPLIT_OFFSET_CAPTURE 4 Dla każdej zwracanej części dodaje jej pozycję w ciągu źródłowym.

Przykład

Podzielmy ciąg znaków po przecinkach:

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

Wynik wykonania kodu:

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

Przykład

Podzielmy ciąg znaków po dowolnych znakach białych z ograniczeniem liczby elementów:

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

Wynik wykonania kodu:

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

Przykład

Użycie flagi PREG_SPLIT_NO_EMPTY w celu wykluczenia pustych elementów:

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

Wynik wykonania kodu:

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

Zobacz też

  • funkcję preg_match,
    która wykonuje wyszukiwanie za pomocą wyrażenia regularnego
  • funkcję explode,
    która dzieli ciąg znaków za pomocą prostego separatora