怎么用PHP正则表达式抓取某个标签的特定属性值

这篇文章主要介绍“怎么用PHP正则表达式抓取某个标签的特定属性值”,在日常操作中,相信很多人在怎么用PHP正则表达式抓取某个标签的特定属性值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用PHP正则表达式抓取某个标签的特定属性值”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联专注于企业营销型网站建设、网站重做改版、陆港网站定制设计、自适应品牌网站建设、成都h5网站建设商城开发、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为陆港等各大城市提供网站开发制作服务。

php正则学了一些日子,抓了一些网站的数据,从而发现每次都自己写正则重新抓很麻烦,于是就想写一个抓取特定标签具有特定属性值的接口通用,直接上代码。

//$html-被查找的字符串 $tag-被查找的标签 $attr-被查找的属性名 $value-被查找的属性值
function get_tag_data($html,$tag,$attr,$value){
$regex = "/<$tag.*?$attr=\".*?$value.*?\".*?>(.*?)<\/$tag>/is";
echo $regex."
"; preg_match_all($regex,$html,$matches,PREG_PATTERN_ORDER); return $matches[1]; } //返回值为数组 查找到的标签内的内容

下面随便给出一个例子

header("Content-type: text/html; charset=utf-8");
$temp = '

首页


日志


LOFTER


相册


博友


关于我

';
$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) "关于我"
}

到此,关于“怎么用PHP正则表达式抓取某个标签的特定属性值”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


文章题目:怎么用PHP正则表达式抓取某个标签的特定属性值
文章出自:http://ybzwz.com/article/pgcecd.html