Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 17955 программистов и 1613 роботов. Сейчас ищут 1439 программистов ...
Приступая к работе

preg_split - Разбивает строку по регулярному выражению

Вернуться к: PCRE

preg_split

(PHP 4, PHP 5, PHP 7)

preg_splitРазбивает строку по регулярному выражению

Описание

array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

Разбивает строку по регулярному выражению.

Список параметров

pattern

Искомый шаблон, строка.

subject

Входная строка.

limit

Если указан, функция возвращает не более, чем limit подстрок, оставшаяся часть строки будет возвращена в последней подстроке. Специальное значение limit, равное -1, 0 или NULL подразумевает отсутствие ограничения, и, в качестве фактического стандарта в PHP, можно использовать NULL для пропуска параметра flags.

flags

flags может быть любой комбинацией следующих флагов (объединенных с помощью побитового оператора |):

PREG_SPLIT_NO_EMPTY
Если указан этот флаг, функция preg_split() вернет только непустые подстроки.
PREG_SPLIT_DELIM_CAPTURE
Если указан этот флаг, выражение, заключенное в круглые скобки в разделяющем шаблоне, также извлекается из заданной строки и возвращается функцией.
PREG_SPLIT_OFFSET_CAPTURE

Если указан этот флаг, для каждой найденной подстроки будет указана ее позиция в исходной строке. Необходимо помнить, что этот флаг меняет формат возвращаемого массива: каждый элемент будет содержать массив, содержащий в индексе с номером 0 найденную подстроку, а смещение этой подстроки в параметре subject - в индексе 1.

Возвращаемые значения

Возвращает массив, состоящий из подстрок заданной строки subject, которая разбита по границам, соответствующим шаблону pattern.

Примеры

Пример #1 preg_split() пример: Получение подстрок из заданного текста

<?php
// разбиваем строку по произвольному числу запятых и пробельных символов,
// которые включают в себя  " ", \r, \t, \n и \f
$keywords preg_split("/[\s,]+/""hypertext language, programming");
print_r($keywords);
?>

Результат выполнения данного примера:

Array
(
    [0] => hypertext
    [1] => language
    [2] => programming
)

Пример #2 Разбиваем строку на составляющие символы

<?php
$str 
'string';
$chars preg_split('//'$str, -1PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>

Результат выполнения данного примера:

Array
(
    [0] => s
    [1] => t
    [2] => r
    [3] => i
    [4] => n
    [5] => g
)

Пример #3 Разбиваем строку с указанием смещения для каждой из найденных подстрок

<?php
$str 
'hypertext language programming';
$chars preg_split('/ /'$str, -1PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>

Результат выполнения данного примера:

Array
(
    [0] => Array
        (
            [0] => hypertext
            [1] => 0
        )

    [1] => Array
        (
            [0] => language
            [1] => 10
        )

    [2] => Array
        (
            [0] => programming
            [1] => 19
        )

)

Примечания

Подсказка

Если вам не нужна мощь регулярных выражений, вы можете выбрать более быстрые (хоть и простые) альтернативы наподобие explode() или str_split().

Подсказка

Если соответствий не нашлось, то возвращается массив с единственным элементом равным всей строке.

Смотрите также

  • "Регулярные выражения PCRE"
  • preg_quote() - Экранирует символы в регулярных выражениях
  • implode() - Объединяет элементы массива в строку
  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • preg_match_all() - Выполняет глобальный поиск шаблона в строке
  • preg_replace() - Выполняет поиск и замену по регулярному выражению
  • preg_last_error() - Возвращает код ошибки выполнения последнего регулярного выражения PCRE



Вернуться к: PCRE

© 2024 «PHP.RU — Сообщество PHP-Программистов»
Главная | Форум | Реклама на сайте | Контакты VIP Сувениры
Разработка компании ODware