精彩推荐

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

731人阅读  0人回复   查看全部 | 阅读模式 | 复制链接   

1

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2015-4-11 18:05:10
在做内容站时,经常会用到采集软件在互联网上大肆侵略别站的资源,一采集就是几千篇的文章,采集(www.xuyi.biz)之后 发现内容中有些原站点的超级链接,要是一个个去改的话 很麻烦 所以写了个方法,测试成功。

简单说一下原理,这里重利用的是 PHP 的替换函数 preg_replace,在实际应用中,我们经常使用 preg_replace 去替换一些危险字符或去转换一些斜杠或回车等。preg_replace($1,$2,$3) 有三个重要的参数,其中 $1 是要搜索(www.xuyi.biz)的字符串,$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. }
  9. echo removelink($str);
  10. ?>
复制代码



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


都是可以的
回复

使用道具 举报

快速回复 返回顶部 返回列表