安严中国SEO博客建站教程 | seo地图 | 博客地图

seo人员熟知的php删除html标签和标签内的内容的方法-安严苏州SEO博客
  • 安严网络!苏州SEO推广团队!
  • 提供seo技术学习教程!百度搜索词推广、seo外包服务。
  • 苏州SEO优化博客,分享网站搭建流程/seo技术教程,
  • 上海seo优化知识,网络营销推广,百度seo快排技术等SEO优化技术。
  • 网站seo服务/企业网站搭建/网站托管seo外包,请点这里网站服务

seo人员熟知的php删除html标签和标签内的内容的方法

seo优化技术 安严seo 2017-11-1 15:03:08 383次浏览 已收录 0个评论 扫描二维码

经常扒别人网站文章的seo伙伴们,少不了都会用到删除html标签的函数。采集指定站点文章、伪原创页面文章内容等都需要用到函数代码,不然内容会很生硬,很容易k站。这里介绍4种不同用途的采集删除HTML标签方法。

1:删除全部或者保留指定html标签:

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

<!--?php echo strip_tags($str,'</p> <p><a>'); ?-->
 //输出:这里是p标签<a>这里是a标签</a>

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

2:删除指定的html标签

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

<!--?php function strip_html_tags($tags,$str)
{ $html=array(); foreach ($tags as $tag)
{ $html[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i"; }
 $data=preg_replace($html, '', $str); }
 echo strip_html_tags(array('p','img'),$str); ?-->
 //输出:
<div>这里是p标签<a>这里是a标签</a></div>
;

3:删除标签和标签的内容

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

<!--?php function strip_html_tags($tags,$str)
{ $html=array(); foreach ($tags as $tag)
 { $html[]='/(<'.$tag.'.*?-->[\s|\S]*?<\/'.$tag.'>)/';
        }
        $data=preg_replace($html,'',$str);
    } 
    echo strip_html_tags(array('a','img'),$str);
   ?>
//输出:
<div>这里是p标签<img alt="这里是img标签" /></div>

很多网站文章里面会带上网站名和链接,比如:seo博客

下面这个函数就是专治这种。

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 strip_html_tags($tags,$str,$content=0){ if($content){ $html=array(); foreach ($tags as $tag) { $html[]='/(<'.$tag.'.*?-->[\s|\S]*?<\/'.$tag.'>)/';
            }
            $data=preg_replace($html,'',$str);
        }else{
            $html=array();
            foreach ($tags as $tag) {
                $html[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i";
            }
            $data=preg_replace($html, '', $str);
        }
        return $data;
    }
    echo strip_html_tags(array('a'),$str,1);
   ?>
//输出:
<div>这里是p标签img alt="这里是img标签" /></div>

文章最后

前面扯了那么多,其实最后这个函数才是干货;一下搞定各种标签让标签的删除不再费劲。


苏州SEO博客版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:seo人员熟知的php删除html标签和标签内的内容的方法:https://www.feiheseo.cn/kaifa/411.html
喜欢 (0)
[感谢支持]
分享 (0)
安严seo
关于作者:
2017年入行的一个网站seo优化技术小白。单身也很宅。没有长出倾国倾城的容貌但也迷住万千女人的心;没有拥有富可敌国的财富但也渴望征服世界的经济!

您必须 登录 才能发表评论!