The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "PHP" / Оглавление документа
Учебник РНР
Назад Вперёд

preg_split

(PHP 3>= 3.0.9, PHP 4)

preg_split - делить строку регулярным выражением.

Описание

array preg_split (string pattern, string subject [, int limit [, int flags]])

Примечание: параметр flags был введён в PHP 4 Beta 3.

Возвращает массив, содержащий подстроки из subject , разделённого по границам совпадений с pattern .

Если limit специфицирован, то будет возвращены только подстроки до limit , а если limit равен -1, это означает "нет ограничения", что используется для специфицирования flags .

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

PREG_SPLIT_NO_EMPTY

Если это флаг установлен, только непустые участки возвращаются функцией preg_split().

PREG_SPLIT_DELIM_CAPTURE

Если это флаг установлен, выражение в скобках в патэрне ограничителя будет захвачено и возвращено. Этот флаг был введён в 4.0.5.

PREG_SPLIT_OFFSET_CAPTURE

Если это флаг установлен, для каждого найденного совпадения будет также возвращено смещение дополнительной строки. Заметьте, что это изменит return-значение в массиве, где каждый элемент является массивом, состоящим из совпавшей строки в смещении 0 и её строкового смещения в subject - в смещении1. Этот флаг доступен, начиная с PHP 4.3.0.

Пример 1. preg_split(): получение части строки поиска.
// разделить фразу по любому количеству запятых или пробельных символов,
// куда входят " ", \r, \t, \n и \f
$keywords = preg_split ("/[\s,]+/", "hypertext language, programming");
Пример 2. Разделение строки на символы-компоненты.
$str = 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
Пример 3. Разделение строки на совпадения и их смещения.
$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
        )

)

См. также spliti() , split() , implode() , preg_match() , preg_match_all() и preg_replace() .


Назад Оглавление Вперёд
preg_replace Вверх Функции qtdom



Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру