preg_split

(PHP 4, PHP 5, PHP 7)

preg_split通过一个正则表达式分隔字符串

说明

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

通过一个正则表达式分隔给定字符串.

参数

pattern

用于搜索的模式,字符串形式。

subject

输入字符串

limit

如果指定,将限制分隔得到的子串最多只有limit个,返回的最后一个 子串将包含所有剩余部分。limit值为-1, 0或null时都代表"不限制", 作为php的标准,你可以使用null跳过对flags的设置。

flags

flags 可以是任何下面标记的组合(以位或运算 | 组合):

PREG_SPLIT_NO_EMPTY
如果这个标记被设置, preg_split() 将仅返回分隔后的非空部分。
PREG_SPLIT_DELIM_CAPTURE
如果这个标记设置了,用于分隔的模式中的括号表达式将被捕获并返回。
PREG_SPLIT_OFFSET_CAPTURE

如果这个标记被设置, 对于每一个出现的匹配返回时将会附加字符串偏移量. 注意:这将会改变返回数组中的每一个元素, 使其每个元素成为一个由第0 个元素为分隔后的子串,第1个元素为该子串在subject 中的偏移量组成的数组。

返回值

返回一个使用 pattern 边界分隔 subject 后得到 的子串组成的数组, 或者在失败时返回 FALSE

范例

Example #1 preg_split()示例:获取搜索字符串的部分

<?php
//使用逗号或空格(包含" ", \r, \t, \n, \f)分隔短语
$keywords preg_split("/[\s,]+/""hypertext language, programming");
print_r($keywords);
?>

以上例程会输出:

Array
(
    [0] => hypertext
    [1] => language
    [2] => programming
)

Example #2 将一个字符串分隔为组成它的字符

<?php
$str 
'string';
$chars preg_split('//'$str, -1PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>

以上例程会输出:

Array
(
    [0] => s
    [1] => t
    [2] => r
    [3] => i
    [4] => n
    [5] => g
)

Example #3 分隔一个字符串并获取每部分的偏移量

<?php
$str 
'hypertext language programming';
$chars preg_split('/ /'$str, -1PREG_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
        )

)

注释

Tip

如果你不需要正则表达式功能,可以有更快(并且更简单)的选择比如 explode()str_split()

Tip

如果没有成功匹配,将会返回一个数组,包含了单个元素,即输入的字符串。

参见

相关文章
php 字符串 函数 转换十六进制字符串为二进制字符串php gd 和图像处理 函数 垂直地画一行字符串php 网络 函数 将长整型转化为字符串形式带点的互联网标准格式地址(ipv4)php 多字节字符串 函数 encode character to html numeric string referencephp 多字节字符串 函数 检测 http 输入字符编码php 多字节字符串 函数 使用正则表达式分割多字节字符串php 多字节字符串 函数 大小写不敏感地查找字符串在另一个字符串中首次出现的位置php mysql 函数 转义 sql 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集php 字符串 函数 convert html entities to their corresponding charactersphp pcre 函数 执行一个正则表达式搜索和替换php pcre 函数 执行一个全局正则表达式匹配php pcre 函数 执行匹配正则表达式php pcre 函数 转义正则表达式字符php pcre 函数 执行一个正则表达式搜索并且使用一个回调进行替换php pcre 函数 执行一个正则表达式的搜索和替换php pcre 函数 通过一个正则表达式分隔字符串php 程序执行函数 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。php posix 正则表达式函数 用正则表达式将字符串分割到数组中php posix 正则表达式函数 用正则表达式不区分大小写将字符串分割到数组中php posix 正则表达式函数 产生用于不区分大小的匹配的正则表达式
关注编程学问公众号