1. 云栖社区>
  2. PHP教程>
  3. 正文

php正则选择某个值的标签内容

作者:用户 来源:互联网 时间:2017-12-01 12:09:37

正则标签内容选择

php正则选择某个值的标签内容 - 摘要: 本文讲的是php正则选择某个值的标签内容, 抓取某个标签的特定属性值的内容 php正则学了一些日子,抓了一些网站的数据,从而发现每次都自己写正则重新抓很麻烦,于是就想写一个抓取特定标签具有特定属性值的接口通用,直接上代码。 //$html-被查找的字符串 $tag-被查找的标签 $

抓取某个标签的特定属性值的内容

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好紧张哈哈哈,希望会对大家有用,也希望大家能指出代码其中的问题,测试做的不是很多~~

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索正则 , 标签 , 内容 选择 ,以便于您获取更多的相关知识。