PHP正则表达式核心技术完全详解 第6节 正则分割函数

136 阅读2分钟

作者:极客小俊 一个专注于web技术的80后
我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人!
掘金@极客小俊 首发原创文章
个人博客: 👉 cnblogs.com 👈

img

PHP正则分割函数

==preg_split()== 通过一个正则表达式分隔字符串, 返回数组! 参数列表: 参数1:正则表达式 参数2:字符串 参数3: limit参数一般指定分割多少个数,但是返回数组的最后一个[子串]元素将包含所有剩余没有分割的部分 参数4: 一些默认常量的配置、并且可以以位或运算 | 进行组合使用、 如: PREG_SPLIT_NO_EMPTY如果这个标记被设置, preg_split() 将进返回分隔后的非空部分! 返回值: 返回通过正则边界分隔字符串后得到的数组!

==特别注意==:被匹配到的分隔字符串不会被返回!

==例1==: 使用逗号或空格(包含" ", \r, \t, \n, \f)分隔短语 代码如下:

$pattern='/[\s,]+/';
$subject='hypertext language, programmimg';
$result=preg_split($pattern, $subject,3,PREG_SPLIT_NO_EMPTY);
show($result);

==例2==: 使用#号字符来分割一个字符串 比如我们有时候会得到一个路径的字符串 按照一定规则进行连接,我们需要把他们拆分开,得到我们想要的连接数据 代码如下:

$pattern='/#/';
$subject='upload/1.jpg#upload/2.jpg#upload/3.jpg#upload/4.jpg#upload/5.jpg#upload/6.jpg';
$result=preg_split($pattern, $subject,-1,PREG_SPLIT_NO_EMPTY+PREG_SPLIT_OFFSET_CAPTURE);
show($result);

==例3==:匹配div标签 取出div中的内容 代码如下:

$subject='<div style="border:1px solid red">
    <a href="http://www.baidu.com">百度</a> <span style="color:red">测试数据1</span>
    </div>
    <div style="border:5px solid blue">
    <a href="http://www.sina.com">新浪</a> <span style="color:blue">测试数据2</span>
    </div>';
$pattern='/(<div\s.+?>)|(<\/div>\s*)/is';
$result=preg_split($pattern, $subject,-1,PREG_SPLIT_NO_EMPTY);
show($result);

在这里插入图片描述

img

如果喜欢我的文章请 👉“点赞” “评论” “关注” 👈一键三连、 大家的支持就是我坚持下去的动力!

如果以上内容有任何错误或者不准确的地方,欢迎在下面 👇 留个言指出、或者你有更好的想法,欢迎一起交流学习