PHP preg_split() 函数通过正则表达式分割给定的字符串。
语法
preg_split(pattern, subject, limit, flags)
参数
mode | 必需。 以字符串形式指定要搜索的模式。 |
subject | 必需。 指定输入字符串。 |
limit | 可选。 如果指定,则仅返回 limit 以内的子字符串,并将字符串的其余部分放置在最后一个子字符串中。默认为 -1 或 0 表示"无限制"。 |
flags | 可选。 它可以是以下标志的任意组合(与 | 位运算符组合):
|
返回值
返回一个数组,其中包含沿与pattern匹配的边界分割的subject的子字符串,失败时返回 false .
示例:拆分为子字符串
下面的示例说明如何使用此函数通过空格或逗号 (,) 拆分字符串。
<?php
$str = "hypertext language, programming";
//用逗号或空格字符分割
//其中包括""、\r、\t、\n和\f
$keywords = preg_split("/[\s,]+/", $str);
//显示结果
print_r($keywords);
?>
输出上述代码的内容为:
Array
(
[0] => hypertext
[1] => language
[2] => programming
)
示例:拆分为字符
考虑下面的示例,该示例显示如何使用此函数将给定字符串拆分为组成字符.
<?php
$str = "Programming";
//分割成组成字符
$chars = preg_split('//', $str, -1,
PREG_SPLIT_NO_EMPTY);
//显示结果
print_r($chars);
?>
上述代码的输出将是:
Array
(
[0] => P
[1] => r
[2] => o
[3] => g
[4] => r
[5] => a
[6] => m
[7] => m
[8] => i
[9] => n
[10] => g
)
示例:将字符串拆分为匹配项及其偏移量
通过使用 PREG_SPLIT_OFFSET_CAPTURE标志,我们可以捕获匹配偏移量。考虑下面的示例:
<?php
$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
)
)