php正则选择某个值的标签内容
2015-10-03 18:03
513 查看
抓取某个标签的特定属性值的内容
php正则学了一些日子,抓了一些网站的数据,从而发现每次都自己写正则重新抓很麻烦,于是就想写一个抓取特定标签具有特定属性值的接口通用,直接上代码。//$html-被查找的字符串 $tag-被查找的标签 $attr-被查找的属性名 $value-被查找的属性值 function get_tag_data($html,$tag,$attr,$value){ $regex = "/<$tag.*?$attr=\".*?$value.*?\".*?>(.*?)<\/$tag>/is"; echo $regex."<br>"; preg_match_all($regex,$html,$matches,PREG_PATTERN_ORDER); return $matches[1]; } //返回值为数组 查找到的标签内的内容
下面随便给出一个例子
header("Content-type: text/html; charset=utf-8"); $temp = '<ul class="noul clearfix"> <li class="w w0"> <a class="i i0 fc01 h" hidefocus="true" href="http://phpway.blog.163.com/">首页</a> </li> <li class="w w1 selected"> <a class="i i1 fc01 h" hidefocus="true" href="http://phpway.blog.163.com/blog/">日志</a> </li> <li class="w w9"> <a class="i i9 fc01 h" hidefocus="true" href="http://phpway.blog.163.com/loftarchive/">LOFTER</a> </li> <li class="w w2"> <a class="i i2 fc01 h" hidefocus="true" href="http://phpway.blog.163.com/album/">相册</a> </li> <li class="w w5"> <a class="i i5 fc01 h" hidefocus="true" href="http://phpway.blog.163.com/friends/">博友</a> </li> <li class="w w6"> <a class="i i6 fc01 h" hidefocus="true" href="http://phpway.blog.163.com/profile/">关于我</a> </li> </ul>'; $result = get_tag_data($temp,"a","class","fc01"); var_dump($result);
输出结果为
array(6) { [0]=> string(6) "首页" [1]=> string(6) "日志" [2]=> string(6) "LOFTER" [3]=> string(6) "相册" [4]=> string(6) "博友" [5]=> string(9) "关于我" }
查看源码可以看到
array(6) { [0]=> string(6) "首页" [1]=> string(6) "日志" [2]=> string(6) "LOFTER" [3]=> string(6) "相册" [4]=> string(6) "博友" [5]=> string(9) "关于我" }
第一次写blog好紧张哈哈哈,希望会对大家有用,也希望大家能指出代码其中的问题,测试做的不是很多~~
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- Java简单字符串插值实现
- 在Windows 8.1的IE 11中屏蔽双击放大功能
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- 通过Mootools 1.2来操纵HTML DOM元素
- WEB标准网页布局中尽量不要使用的HTML标签
- Flash 与 html 的一些实用技巧
- html工作中表格<tbody>标签的使用技巧
- HTML 向 XHTML1.0 兼容性指导
- C#自写的一个HTML解析类(类似XElement语法)
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法