PHP preg_split() 函数

定义和用法

preg_split() 函数使用正则表达式的匹配项作为分隔符将字符串分割成数组。

实例

例子 1

使用 preg_split() 将日期拆分为其组成部分:

<?php
$date = "1970-01-01 00:00:00";
$pattern = "/[-\s:]/";
$components = preg_split($pattern, $date);
print_r($components);
?>

亲自试一试

例子 2

使用 PREG_SPLIT_DELIM_CAPTURE 标志:

<?php
$date = "1970-01-01 00:00:00";
$pattern = "/([-\s:])/";
$components = preg_split($pattern, $date, -1,
PREG_SPLIT_DELIM_CAPTURE);
print_r($components);
?>

亲自试一试

例子 3

使用 PREG_SPLIT_OFFSET_CAPTURE 标志:

<?php
$date = "1970-01-01";
$pattern = "/-/";
$components = preg_split($pattern, $date, -1,
PREG_SPLIT_OFFSET_CAPTURE);
print_r($components);
?>

亲自试一试

语法

preg_split(pattern, string, limit, flags)
参数 描述
pattern 必需。一个正则表达式,用于确定用作分隔符的内容。
string 必需。被分割的字符串。
limit

可选。默认为 -1,表示无限制。限制返回数组可以拥有的元素数量。

如果在找到所有分隔符之前达到限制,则字符串的剩余部分将被放入数组的最后一个元素中。

flags

可选。这些标志提供了更改返回数组的选项:

  • PREG_SPLIT_NO_EMPTY - 从返回的数组中删除空字符串。
  • PREG_SPLIT_DELIM_CAPTURE - 如果正则表达式包含用括号括起来的组,则该组的匹配项将包含在返回的数组中。
  • PREG_SPLIT_OFFSET_CAPTURE - 返回数组中的每个元素将是一个具有两个元素的数组,其中第一个元素是子字符串,第二个元素是输入字符串中子字符串的第一个字符的位置。

技术细节

返回值: 返回子字符串数组,其中每个项目对应于由正则表达式的匹配项分隔的输入字符串的一部分。
PHP 版本: 4+