Erlo

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

2020-11-12 22:30:57 发布   510 浏览  
页面报错/反馈
收藏 1 赞

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

在这里插入图片描述

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="/links.html?l=MnA1RTl1RnZEQlpKYzlVblgvWndJeTRzNEVwVmFmWkRTTENWaFcrNWVaaz0%3D">百度</a> <span style="color:red">测试数据1</span>
    </div>
    <div style="border:5px solid blue">
    <a href="/links.html?l=MnA1RTl1RnZEQlpDaW0rWUlNZjNIZFpueGRyMlFZVmRTTENWaFcrNWVaaz0%3D">新浪</a> <span style="color:blue">测试数据2</span>
    </div>';
$pattern='/(<divs.+?>)|(</div>s*)/is';
$result=preg_split($pattern, $subject,-1,PREG_SPLIT_NO_EMPTY);
show($result);
"点赞" "评论" "收藏"

大家的支持就是我坚持下去的动力!

如果以上内容有任何错误或者不准确的地方,欢迎在下面
登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认