ProfiPHPProfiPHP
Категория: Функции для работы с регулярными выражениями (Perl-совместимые)

Функция Preg_split

Функция 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 может быть любой комбинацией следующих флагов (объединенных с помощью побитового оператора |):

PREG_SPLIT_NO_EMPTY - Функция Preg_split вернет только непустые подстроки.

PREG_SPLIT_DELIM_CAPTURE - Выражение, заключенное в круглые скобки в разделяющем шаблоне, также извлекается из заданной строки и возвращается функцией.

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

Функция Preg_split возвращает массив, состоящий из подстрок заданной строки Subject, которая разбита по границам, соответствующим шаблону Pattern, или FALSE в случае возникновения ошибки.

Пример использования:
$string = '<b>Strong</b> Hello World  <a href="/page.html"> Link </a>';
$source = preg_split( '((>)|(<))', $string, - 1, PREG_SPLIT_DELIM_CAPTURE );
Результат выполнения:
Array
(
[0] =>
[1] =>
[2] => <
[3] => b
[4] => >
[5] => Strong
[6] =>
[7] => <
[8] => /b
[9] => >
[10] => Hello World
[11] =>
[12] => <
[13] => a href="/page.html"
[14] => >
[15] => Link
[16] =>
[17] => <
[18] => /a
[19] => >
[20] =>
)

Добавить комментарий

Имя:
Текст комментария: