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
preg_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
$res = preg_split('/,/', 'a,b,c,d,e');
var_dump($res);
?>
Wynik wykonania kodu:
['a', 'b', 'c', 'd', 'e']
Przykład
Podzielmy ciąg znaków po dowolnych znakach białych z ograniczeniem liczby elementów:
<?php
$res = preg_split('/\s+/', '1 2 3 4 5', 3);
var_dump($res);
?>
Wynik wykonania kodu:
['1', '2', '3 4 5']
Przykład
Użycie flagi PREG_SPLIT_NO_EMPTY w celu wykluczenia pustych elementów:
<?php
$res = preg_split('/[,\s]/', 'a,b, c, ,d', -1, PREG_SPLIT_NO_EMPTY);
var_dump($res);
?>
Wynik wykonania kodu:
['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