加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP 批量删除网页内容中超级链接

发布时间:2020-12-13 20:52:32 所属栏目:PHP教程 来源:网络整理
导读:在做内容站时,经常会用到采集软件在互联网上大肆侵略别站的资源,一采集就是几千篇的文章,采集之后,发现内容中有些原站点的超级链接,要是一个个去改的话,很麻烦,所以写了个方法,测试成功。 简单说一下原理,这里重利用的是 PHP 的替换函数 preg_replace,在实际

在做内容站时,经常会用到采集软件在互联网上大肆侵略别站的资源,一采集就是几千篇的文章,采集之后,发现内容中有些原站点的超级链接,要是一个个去改的话,很麻烦,所以写了个方法,测试成功。

简单说一下原理,这里重利用的是 PHP 的替换函数 preg_replace,在实际应用中,我们经常使用 preg_replace 去替换一些危险字符或去转换一些斜杠或回车等.

preg_replace($1,$2,$3) 有三个重要的参数,其中 $1 是要搜索的字符串,$2 是要替换成的字符串,$3 是要进行替换的字符串。

那么知道了 preg_replace 函数工作的原理,那么进行替换超链接就不难了,我们只需要将参数 $1 和 $2 转换成数组,进行批量替换,以下是方法,测试成功,共享给 phper,代码如下:

  1. <?php 
  2. $str="<a href="xxx">超级链接</a>|<a href="xxx">这是个链接</a><br>"
  3. function removelink($str){ 
  4. $mode=array("#<a href="(.*)">#iUs","#</a>#iUs"); 
  5. $want=array("",""); 
  6. $con=preg_replace($mode,$want,$str); 
  7. return $con
  8. echo removelink($str); 
  9. ?> 

或如下代码:

  1. <?php 
  2. $content = file_get_contents('test.html');  
  3. $url = 'http://www.phpfensi.com';  //要换成的新网址  
  4. $preg = '/[s]href=("|')[S]*("|')/i';  
  5. $replace = ' href="' . $url . '"';  
  6. $content = preg_replace($preg$replace$content);  //正则替换  
  7. create_log('newhtml'$content);  //生成新文件 
  8. ?> 

都是可以的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读