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

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

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

4、代码:

           preg_match_all('/<h3 class=\"s_name\">([\s\S]+?)<\/h3>/',$content,$matches);

           //var_dump($matches);die;
if($matches){
echo "景点名称 = ".$matches[1][0]."<br>";
}

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

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

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

解决代码:

preg_match_all('/<div class=\"intro-info-i\">[\s\S]+?<p>([\s\S]+?)<\/p>/',$content,$matches3);

打印 $matches3 看看即可。

【PHP采集】php采集、[\s\S]的使用、正则获取 换行字符串或html块的更多相关文章

  1. php正则获取html图片标签信息(采集图片)

    php获取html图片标签信息(采集图片),实现图片采集及其他功能,带代码如下: <?php $str="<img src='./a.jpg'/>111111<img ...

  2. iOS从零开始学习直播之2.采集

      直播的采集由采集的设备(摄像头.话筒)不同分为视频采集和音频采集,本篇文章会分别介绍. 1.采集步骤   1.创建捕捉会话(AVCaptureSession),iOS调用相机和话筒之前都需要创建捕 ...

  3. 让OMCS支持更多的视频采集设备

    有些OMCS用户在他的系统使用了特殊的视频采集卡作为视频源(如AV-878采集卡),虽然这些采集卡可以虚拟为一个摄像头,但有些视频采集卡需要依赖于自带了sdk才能正常地完成视频采集工作.在这种情况下, ...

  4. Flume采集处理日志文件

    Flume简介 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据 ...

  5. c#如何采集需要登录的页面

    首先说明:代码片段是从网络获取,然后自己修改.我想好的东西应该拿来分享. 先说下原理:当我们采集页面的时候,如果被采集的网站需要登录才能采集.不管是基于Cookie还是基于Session,我们都会首先 ...

  6. DEDECMS之九 文章采集

    到很多网友都为织梦(DEDECMS)的采集教程头疼,的确,官方出的教程太笼统了,什么都没说,换个网站你什么都做不了,这个教程是最详尽的教程,让你一看即会! 一.列表采集 第一步.我们打开织梦后台点击采 ...

  7. Python网页信息采集:使用PhantomJS采集淘宝天猫商品内容

    1,引言 最近一直在看Scrapy 爬虫框架,并尝试使用Scrapy框架写一个可以实现网页信息采集的简单的小程序.尝试过程中遇到了很多小问题,希望大家多多指教. 本文主要介绍如何使用Scrapy结合P ...

  8. 6.MIL采集和实时显示

    前面讲到的都是离线的图像获取方法,实际中我们做机器视觉都是在线采集图像和处理,处理结果决定了计算机要给出的控制信号如电机运动等,这样就实现了实时视觉反馈运动.MIL中的采集需要Matrox采集板卡的支 ...

  9. Windows上的音频采集技术

    在制作发布端的时候,需要采集到声卡的输出信号,以便与麦克风的输入信号进行混音,对于音频处理的技术,主要有如下几种: 采集麦克风输入 采集声卡输出 将音频数据送入声卡进行播放 对多路音频输入进行混音处理 ...

随机推荐

  1. window.open不被拦截的实现代码

    $("#last").click(function(){ var w=window.open(); setTimeout(function(){ w.location=" ...

  2. Pytorch之CrossEntropyLoss() 与 NLLLoss() 的区别

    (三)PyTorch学习笔记——softmax和log_softmax的区别.CrossEntropyLoss() 与 NLLLoss() 的区别.log似然代价函数 pytorch loss fun ...

  3. 读书笔记,《深入理解java虚拟机》,第三章 垃圾收集器与内存分配策略

    要实现虚拟机,其实人们主要考虑完成三件事情: 第一,哪些内存需要回收: 第二,什么时候回收: 第三,如何回收. 第二节,对象已死吗    垃圾收集其实主要是针对java堆里面的数据来说的,传统的垃圾收 ...

  4. 用keras实现lstm 利用Keras下的LSTM进行情感分析

    1    I either LOVE Brokeback Mountain or think it’s great that homosexuality is becoming more accept ...

  5. 转:[大数据竞赛]协同过滤在这个问题上是否work

    http://bbs.aliyun.com/read/154433.html?spm=5176.7189909.0.0.gzyohy&fpage=2 看到主办方之前发的一篇文章里提到,这个购买 ...

  6. OpenNebula学习第三节之虚拟机管理

    一.背景 已经安装好OpenNebula-Front-end 已经安装好OpenNebula Node 已经把Node注册到Front-end 二.目标 看过第一.二节的同学们可能已经知道我的整个环境 ...

  7. [Docker] Linking Node.js and MongoDB Containers

    To do communcation between containers, we need to do link between containers. 1. Run a container wit ...

  8. 杂谈:大容量(T级容量)的网盘的意义

    这两天,大容量的网盘的消息不断的推出.有百度的网盘推1T容量的:有腾讯的推10T容量的:有的还推不限容量的等等不一而足. 先看看大容量网盘的历史 早先是没有网盘这个概念的.能提供免费空间是电子邮箱 早 ...

  9. Direct2D教程VI——转换(Transform)

    目前博客园中成系列的Direct2D的教程有 1.万一的 Direct2D 系列,用的是Delphi 2009 2.zdd的 Direct2D 系列,用的是VS中的C++ 3.本文所在的 Direct ...

  10. C#.NET常见问题(FAQ)-如何声明list的多维数组

    可以用下面的方法来声明多维list数组,但是不推荐使用   //对于一维数组:List<数据类型> 变量 = new List<数据类型>(); List<int> ...