java获取html标签中的内容_总结php删除html标签和标签内的内容的方法

经常扒别人网站文章的坑们;我是指那种批量式采集的压根不看内容的;少不了都会用到删除html标签的函数;这里介绍3种不同用途上的方法;

$str='

这里是p标签

这里是a标签
';

1:删除全部或者保留指定html标签php自带的函数strip_tags即可满足要求,使用方法:strip_tags(string,allow);string:需要处理的字符串;allow:需要保留的指定标签,可以写多个;

echo strip_tags($str,'

');//输出:

这里是p标签

这里是a标签

此函数的优点是简单粗暴;但是缺点也很明显;如果有一大堆标签;而我只是想删除指定的某一个;那要写很多需要保留的标签;所以有了第二个方法;

2:删除指定的html标签使用方法:strip_html_tags($tags,$str);$tags:需要删除的标签(数组格式)$str:需要处理的字符串;

function strip_html_tags($tags,$str){    $html=array();    foreach ($tags as $tag) {        $html[]="/(]*>)/i";    }    $data=preg_replace($html, '', $str);    return $data;}echo strip_html_tags(array('p','img'),$str);//输出:
这里是p标签这里是a标签
;

3:删除标签和标签的内容使用方法:strip_html_tags($tags,$str);$tags:需要删除的标签(数组格式)$str:需要处理的字符串;

function strip_html_tags($tags,$str){    $html=array();    foreach ($tags as $tag) {        $html[]='/[s|S]*?'.$tag.'>/';        $html[]='//';    }    $data=preg_replace($html,'',$str);    return $data;}echo strip_html_tags(array('a','img'),$str);//输出

这里是p标签

很多网站文章里面会带上网站名和链接;这个函数就是专治这种;别拿这个函数采集本站啊;不然保证不打死你;4:终极函数,删除指定标签;删除或者保留标签内的内容;使用方法:strip_html_tags($tags,$str,$content);$tags:需要删除的标签(数组格式)$str:需要处理的字符串;$ontent:是否删除标签内的内容 0保留内容 1不保留内容

/** * 删除指定标签 * * @param array $tags     删除的标签  数组形式 * @param string $str     html字符串 * @param bool $content   true保留标签的内容text * @return mixed */function stripHtmlTags($tags, $str, $content = true){    $html = [];    // 是否保留标签内的text字符    if($content){        foreach ($tags as $tag) {            $html[] = '/((.|)*?' . $tag . '>)/is';        }    }else{        foreach ($tags as $tag) {            $html[] = "/(]*>)/is";        }    }    $data = preg_replace($html, '', $str);    return $data;}//输出

这里是p标签

;        }    }else{        foreach ($tags as $tag) {            $html[] = "/(]*>)/is";        }    }    $data = preg_replace($html, '', $str);    return $data;}//输出

这里是p标签

;        }    }else{        foreach ($tags as $tag) {            $html[] = "/(]*>)/is";        }    }    $data = preg_replace($html, '', $str);    return $data;}//输出

这里是p标签

;
088027cf9ae0cada28bbc2c6d45680c8.png
/** * 删除指定标签 * * @param array $tags     删除的标签  数组形式 * @param string $str     html字符串 * @param bool $content   true保留标签的内容text * @return mixed */function stripHtmlTags($tags, $str, $content = true){    $html = [];    // 是否保留标签内的text字符    if($content){        foreach ($tags as $tag) {            $html[] = '/((.|)*?' . $tag . '>)/is';        }    }else{        foreach ($tags as $tag) {            $html[] = "/(]*>)/is";        }    }    $data = preg_replace($html, '', $str);    return $data;}//输出

这里是p标签

;        }    }else{        foreach ($tags as $tag) {            $html[] = "/(]*>)/is";        }    }    $data = preg_replace($html, '', $str);    return $data;}//输出

这里是p标签

;        }    }else{        foreach ($tags as $tag) {            $html[] = "/(]*>)/is";        }    }    $data = preg_replace($html, '', $str);    return $data;}//输出

这里是p标签

;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值