zoukankan      html  css  js  c++  java
  • PHP preg_split() 函数

    preg_replace 函数通过一个正则表达式分隔字符串。高佣联盟 www.cgewang.com

    语法

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

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

    参数说明:

    • $pattern: 用于搜索的模式,字符串形式。

    • $subject: 输入字符串。

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

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

      • PREG_SPLIT_NO_EMPTY: 如果这个标记被设置, preg_split() 将进返回分隔后的非空部分。
      • PREG_SPLIT_DELIM_CAPTURE: 如果这个标记设置了,用于分隔的模式中的括号表达式将被捕获并返回。
      • PREG_SPLIT_OFFSET_CAPTURE: 如果这个标记被设置, 对于每一个出现的匹配返回时将会附加字符串偏移量. 注意:这将会改变返回数组中的每一个元素, 使其每个元素成为一个由第0 个元素为分隔后的子串,第1个元素为该子串在subject 中的偏移量组成的数组。

    返回值

    返回一个使用 pattern 边界分隔 subject 后得到的子串组成的数组。

    实例

    获取搜索字符串的部分

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

    执行结果如下所示:

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

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

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

    执行结果如下所示:

    Array
    (
        [0] => r
        [1] => u
        [2] => n
        [3] => o
        [4] => o
        [5] => b
    )

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

    <?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
            )
    
    )
  • 相关阅读:
    CodeForces 1096E: The Top Scorer
    洛谷 P4175: bzoj 1146: [CTSC2008]网络管理
    洛谷 P4592: bzoj 5338: [TJOI2018]异或
    洛谷 P3307: bzoj 3202: [SDOI2013] 项链
    洛谷 P4248: bzoj 3238: [AHOI2013]差异
    洛谷 P5089: CodeForces #500 (Div. 1) B / 1012B : Chemical table
    关于Green-Kubo方法模拟水的粘度
    Lammps 关于初始化速度的分布问题
    LAMMPS-special bonds
    DL_POLY的安装问题
  • 原文地址:https://www.cnblogs.com/yc10086/p/13156382.html
Copyright © 2011-2022 走看看