PHP

split

split

(PHP 4, PHP 5)

split - 通过正则表达式将字符串拆分为数组

警告

这个函数在PHP 5.3.0中是DEPRECATED,而在PHP 7.0.0中是REMOVED

这个功能的替代方案包括:

  • preg_split()

  • explode()

  • str_split()

描述

array split ( string $pattern , string $string [, int $limit = -1 ] )

通过正则表达式将字符串拆分为数组。

参数

pattern

大小写正则表达式。

如果你想分割任何被正则表达式认为是特殊的字符,你需要首先转义它们。如果你认为split()(或者其他任何正则表达式函数)做了一些奇怪的事情,请阅读包含在PHP发行版的正则表达式/子目录中的regex.7文件。它采用manpage格式,因此您需要按照man /usr/local/src/regex/regex.7这一行来完成某些操作,以便读取它。

string

输入字符串。

limit

如果设置了limit,返回的数组将包含最大限制元素,最后一个元素包含整个字符串的其余部分。

返回值

返回一个字符串数组,每个字符串都是一个字符串的子字符串,通过将其分割为由区分大小写的正则表达式模式形成的边界来形成。

如果有n个模式出现,返回的数组将包含n + 1个项目。 例如,如果没有发生模式,只返回一个元素的数组。 当然,如果字符串为空,这也是如此。 如果发生错误,split()返回FALSE。

例子

示例#1 split()示例

要从/ etc / passwd的一行中分离出前四个字段,请执行以下操作:

<?php list($user, $pass, $uid, $gid, $extra) =     split(":", $passwd_line, 5 ?>

示例#2 split()示例

解析可能用斜线,点或连字符分隔的日期:

<?php // Delimiters may be slash, dot, or hyphen $date = "04/30/1973"; list($month, $day, $year) = split('[/.-]', $date echo "Month: $month; Day: $day; Year: $year<br />\n"; ?>

注意

提示

从PHP 5.3.0开始,split()已弃用。preg_split()是该函数的建议替代方法。如果你不需要正则表达式的能力,那么使用explode()会更快,这不会导致正则表达式引擎的开销。

提示

对于想要模仿Perl的@chars = split('',$ str)行为的用户,请参阅preg_split()或str_split()的示例。

扩展内容

  • preg_split() - 用正则表达式分割字符串

  • spliti() - 通过不区分大小写的正则表达式将字符串拆分为数组

  • str_split() - 将字符串转换为数组

  • explode() - 按字符串拆分字符串

  • implode() - 使用字符串加入数组元素

  • chunk_split() - 将字符串拆分为更小的块

  • wordwrap() - 将字符串包装为给定数量的字符

← eregi

spliti →