preg_split
(PHP 4, PHP 5)
preg_split — Разбивает строку по регулярному выражению
Описание
array preg_split
( string $pattern
, string $subject
[, int $limit
[, int $flags
]] )
В случае, если параметр limit
указан, функция возвращает
не более, чем limit
подстрок. Специальное значение
limit
, равное -1, подразумевает отсутствие ограничения,
это весьма полезно для указания еще одного опционального параметра
flags
.
flags
может быть произвольной комбинацией следующих флагов
(соединение происходит при помощи оператора '|'):
-
PREG_SPLIT_NO_EMPTY
-
В случае, если этот флаг указан, функция preg_split()
вернет только непустые подстроки.
-
PREG_SPLIT_DELIM_CAPTURE
-
В случае, если этот флаг указан, выражение, заключенное в круглые скобки в
разделяющем шаблоне, также извлекается из заданной строки и возвращается
функцией. Этот флаг был добавлен в PHP 4.0.5.
-
PREG_SPLIT_OFFSET_CAPTURE
-
В случае, если этот флаг указан, для каждой найденной подстроки, будет указана
ее позиция в исходной строке. Необходимо помнить, что этот флаг меняет
формат возвращаемых данных: каждое вхождение возвращается в виде массива,
в нулевом элементе которого содержится найденная подстрока, а в первом - смещение.
Пример #1 preg_split() пример: Получение подстрок из заданного текста
<?php
// разбиваем строку по произвольному числу запятых и пробельных символов,
// которые включают в себя " ", \r, \t, \n и \f
$keywords = preg_split("/[\s,]+/", "hypertext language, programming");
?>
Пример #2 Разбиваем строку на составляющие символы
<?php
$str = 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>
Пример #3 Разбиваем строку с указанием смещения для каждой из найденных подстрок
<?php
$str = 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_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
)
)
Замечание:
Параметр flags
был добавлен в PHP 4 Beta 3.
Смотрите также spliti(), split(),
implode(), preg_match(),
preg_match_all(), и
preg_replace().