|
(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()
.
|
|