Функция preg_split
Функция preg_split
разделяет строку на элементы массива, используя регулярное выражение для поиска разделителей. Первым параметром принимает регулярное выражение, вторым - исходную строку. Третий необязательный параметр задает количество элементов массива в итоговом результате. Четвертый необязательный параметр задает
флаги, меняющие поведение функции.
Синтаксис
preg_split(pattern, subject, [limit], [flags]);
Флаги
Флаг | Константа | Описание |
---|---|---|
PREG_SPLIT_NO_EMPTY |
1 | Возвращает только непустые части после разделения. |
PREG_SPLIT_DELIM_CAPTURE |
2 | Захватывает и возвращает части совпадения с подшаблонами в регулярном выражении. |
PREG_SPLIT_OFFSET_CAPTURE |
4 | Для каждой возвращаемой части добавляет её позицию в исходной строке. |
Пример
Разделим строку по запятым:
<?php
$res = preg_split('/,/', 'a,b,c,d,e');
var_dump($res);
?>
Результат выполнения кода:
['a', 'b', 'c', 'd', 'e']
Пример
Разделим строку по любым пробельным символам с ограничением количества элементов:
<?php
$res = preg_split('/\s+/', '1 2 3 4 5', 3);
var_dump($res);
?>
Результат выполнения кода:
['1', '2', '3 4 5']
Пример
Использование флага PREG_SPLIT_NO_EMPTY
для исключения пустых элементов:
<?php
$res = preg_split('/[,\s]/', 'a,b, c, ,d', -1, PREG_SPLIT_NO_EMPTY);
var_dump($res);
?>
Результат выполнения кода:
['a', 'b', 'c', 'd']
Смотрите также
-
функцию
preg_match
,
которая выполняет поиск по регулярному выражению -
функцию
explode
,
которая разбивает строку по простому разделителю