ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
203 of 410 menu
Вступайте в телеграмм-канал сайта code.mu: новинки, статьи, интервью, задачи, бесплатные курсы и тренинги. Жми для вступления:)

Функция 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,
    которая разбивает строку по простому разделителю
byenru