博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【PHP采集】php采集、[\s\S]的使用、正则获取 换行字符串或html块
阅读量:5998 次
发布时间:2019-06-20

本文共 605 字,大约阅读时间需要 2 分钟。

1、如图,我想要获取 红框框中的html内容,但是普通的正则一直获取不到:

 

2、原因剖析:因为html换行了,所以直接 /<h3 class=\"s_name\"(.+?)<span>/ 是获取不到的,必须要进行换行匹配

3、换行之后,退而求其次,干脆把整个 h3里面的内容都拿来

4、代码:

preg_match_all('/

([\s\S]+?)<\/h3>/',$content,$matches); //var_dump($matches);die; if($matches){ echo "景点名称 = ".$matches[1][0]."
"; }

5、我们知道(.+?)这是个很强大的匹配式,嘿嘿,其实 [\s\S]比它还强大,几乎包含了一切。

6、如果想隔两行,取值  那怎么办呢? 别慌,照样使用这个[\s\S],它很强大的。

 

假设 我们想要获取 上面的 【井下探幽 来一场地下探索之旅】 文字,并且是以 【<div class=\"intro-info=i\"】为开始匹配点,那怎么办

解决代码:

preg_match_all('/
[\s\S]+?

([\s\S]+?)<\/p>/',$content,$matches3);打印 $matches3 看看即可。

 

转载地址:http://byzmx.baihongyu.com/

你可能感兴趣的文章
qq音乐flac改成mp3格式小妙招
查看>>
单页面路由工程使用微信分享及二次分享解决方案
查看>>
javaScript原型、原型链
查看>>
C语言笔记(第一章:C语言编程)
查看>>
新年彩蛋之中大奖
查看>>
JS中定时器线程理解
查看>>
【前端面试】作用域和闭包
查看>>
JavaScript-如何实现克隆(clone)函数
查看>>
深入 Nginx 之架构篇
查看>>
BundlePhobia
查看>>
区块链组织-超级账本(Hyperledger)的简介
查看>>
Python Pandas读取修改excel操作攻略
查看>>
PAT A1007 动态规划
查看>>
canvas 五子棋游戏
查看>>
《深入理解计算机系统》读书笔记:5.5 vs 5.6
查看>>
原生js实现Ajax,JSONP
查看>>
laravel接入Consul
查看>>
Spring Boot 最核心的 25 个注解,都是干货!
查看>>
InvalidClaimException: The Token can't be used before
查看>>
spring-boot的access日志格式修改
查看>>