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