English | 简体中文 | 繁體中文
查询

preg_split()函数—用法及示例

「 根据正则表达式将字符串分割为数组 」


函数名称:preg_split()

适用版本:PHP 4, PHP 5, PHP 7

函数描述:preg_split() 函数根据正则表达式将字符串分割为数组。

语法:array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

参数:

  • pattern:正则表达式模式,用于指定分割字符串的规则。
  • subject:要分割的字符串。
  • limit(可选):指定返回的数组元素的最大数目。默认为 -1,表示不限制。
  • flags(可选):可选标志参数,用于修改匹配行为。常用的标志包括 PREG_SPLIT_NO_EMPTY(分割结果中不包含空字符串)和 PREG_SPLIT_DELIM_CAPTURE(包含分隔符在内)。

返回值:返回分割后的字符串数组。

示例:

// 示例1:根据空格分割字符串
$str = "Hello World, PHP is awesome!";
$result = preg_split('/\s+/', $str);
print_r($result);
/*
输出:
Array
(
    [0] => Hello
    [1] => World,
    [2] => PHP
    [3] => is
    [4] => awesome!
)
*/

// 示例2:根据逗号和句号分割字符串,限制返回数组元素最大数目为3
$str = "Apple, Banana. Orange, Grape";
$result = preg_split('/[,.]+/', $str, 3);
print_r($result);
/*
输出:
Array
(
    [0] => Apple
    [1] => Banana
    [2] => Orange, Grape
)
*/

// 示例3:使用 PREG_SPLIT_DELIM_CAPTURE 标志,包含分隔符在内
$str = "Hello,World";
$result = preg_split('/([,.])/', $str, -1, PREG_SPLIT_DELIM_CAPTURE);
print_r($result);
/*
输出:
Array
(
    [0] => Hello
    [1] => ,
    [2] => World
)
*/

注意事项:

  • 正则表达式的语法非常重要,需要熟悉正则表达式的语法规则才能正确使用 preg_split() 函数。
  • 可以使用限定符来指定更复杂的分割规则,如 + 表示匹配一个或多个,* 表示匹配零个或多个,?表示匹配零个或一个等。
  • 如果 pattern 包含括号表达式(捕获组),则分割结果中也会包含括号内的内容。
补充纠错
上一个函数: prev()函数
热门PHP函数
分享链接