|
preg_split (PHP 3 >= 3.0.9, PHP 4, PHP 5) preg_split -- Разбивает строку по регулярному выражению Описаниеarray preg_split ( string pattern, string subject [, int limit [, int flags]] )
Возвращает массив, состоящий из подстрок заданной строки
subject, которая разбита по границам, соответствующим шаблону
pattern.
В случае, если параметр 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().
| |