Функции PHP »»» Функции регулярных выражения (расширения POSIX)(PHP 3, PHP 4, PHP 5)
split - делает из строки массив с помощью регулярного выражения.
Описание
array split (string pattern, string string [, int limit])
Примечание:
preg_split(), использующая Perl-совместимый синтаксис регулярных выражений, работает часто
быстрее
split().
Возвращает массив строк, каждая из которых является подстрокой строки
string и образована путём разделения строки по границам, образованным патэрном
pattern регулярного выражения.Если limit установлен, возвращённый массив будет содержать максимум
limit элементов с последним элементом, содержащим остаток строки string.Если
возникла ошибка, split() возвращает FALSE.
Для того чтобы разделить первые четыре поля строчки
/etc/passwd:
Пример 1. split() list($user,$pass,$uid,$gid,$extra)= split (":", $passwd_line, 5); |
|
Примечание:
если имеются n вхождений патэрна
pattern, возвращённый массив будет содержать
n+1 элементов. Например, если вхождений pattern нет, будет возвращён массив из одного элемента. Конечно, это также верно и в
том случае, когда
string пустая.
Для разбора данных, которые могут быть разграничены слэшами, точками или
дефисами:
Пример 2. split() $date = "04/30/1973";// разграничителями могут быть slash, dot или hyphen
list ($month, $day, $year) = split ('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br>\n"; |
|
Заметьте, что pattern чувствителен к регистру.
Заметьте, что если вам не нужна мощь регулярных выражений, быстрее
сработает explode(), которая не вызывает перегрузки машины регулярных выражений.
Для тех, кто ищет способ эмулировать Perl'овское поведение @chars =
split('', $str), рекомендуем посмотреть примеры для
preg_split().
Обратите, пожалуйста, внимание, что pattern это регулярное выражение.Если вы хотите разделить на любом из символов,
имеющих в регулярных выражениях специальное значение, вам нужно сначала
мнемонизировать/escape эти символы. Если вам кажется, что split() (или любая другая regex-функция) делает нечто странное, прочтите файл regex.7,
включённый в субдиректорию regex/ дистрибутива
PHP. Он имеет формат manpage, поэтому вам понадобится что-нибудь сделать со
строками man
/usr/local/src/regex/regex.7, чтобы прочесть его.
См. также
preg_split(),
spliti(),
explode(),
implode(),
chunk_split() и
wordwrap().