PHP preg_split PCRE正则函数



  • 定义和用法

    preg_split - 通过一个正则表达式分隔字符串
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
  • 语法

    preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )
    
    通过一个正则表达式分隔给定字符串。
  • 参数

    参数 必需的 描述
    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。
  • 示例

    //使用逗号或空格(包含" ", \r, \t, \n, \f)分隔短语
    $keywords = preg_split("/[\s,]+/", "hypertext language, programming");
    print_r($keywords);
    
  • 相关函数

    preg_quote() - 转义正则表达式字符
    implode() - 将一个一维数组的值转化为字符串
    preg_match() - 执行匹配正则表达式
    preg_match_all() - 执行一个全局正则表达式匹配
    preg_replace() - 执行一个正则表达式的搜索和替换
    preg_last_error() - 返回最后一个PCRE正则执行产生的错误代码