• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP正则表达式抓取某个标签的特定属性值的方法

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

    以上所述是小编给大家介绍的PHP正则表达式抓取某个标签的特定属性值的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    您可能感兴趣的文章:
    • php使用正则表达式获取字符串中的URL
    • Ajax和PHP正则表达式验证表单及验证码
    • PHP利用正则表达式实现手机号码中间4位用星号(*)替换显示功能
    上一篇:正则表达式常用用法汇总
    下一篇:教你轻松记住JS正则表达式
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    PHP正则表达式抓取某个标签的特定属性值的方法 PHP,正则,表达式,抓取,某个,