www.adminn.cn
站长正能量分享网!

PHP实现删除非站内外部链接实例代码

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

一般在做网站系统的时候,出于优化等因素的考虑需要再添加文章的时候删除掉不是本站的链接,对于这一要求可以通过让PHP处理下文章内容,来达到文章外部链接的自动删除的效果。

本实例代码主要参考织梦CMS内容管理系统的外链删除方法,代码如下:

  1. /** 
  2.  *  删除非站内链接 
  3.  * 
  4.  * @access    public 
  5.  * @param     string  $body  内容 
  6.  * @param     array  $allow_urls  允许的超链接 
  7.  * @return    string 
  8.  */ 
  9. function Replace_Links( &$body$allow_urls=array()  ) 
  10.     $host_rule = join('|'$allow_urls); 
  11.     $host_rule = preg_replace("#[\n\r]#"''$host_rule); 
  12.     $host_rule = str_replace('.'"\\."$host_rule); 
  13.     $host_rule = str_replace('/'"\\/"$host_rule); 
  14.     $arr = ''
  15.     preg_match_all("#<a([^>]*)>(.*)<\/a>#iU"$body$arr); 
  16.     ifis_array($arr[0]) ) 
  17.     { 
  18.         $rparr = array(); 
  19.         $tgarr = array(); 
  20.         foreach($arr[0] as $i=>$v
  21.         { 
  22.             if$host_rule != '' && preg_match('#'.$host_rule.'#i'$arr[1][$i]) ) 
  23.             { 
  24.                 continue
  25.             } else { 
  26.                 $rparr[] = $v
  27.                 $tgarr[] = $arr[2][$i]; 
  28.             } 
  29.         } 
  30.         if( !emptyempty($rparr) ) 
  31.         { 
  32.             $body = str_replace($rparr$tgarr$body); 
  33.         } 
  34.     } 
  35.     $arr = $rparr = $tgarr = ''
  36.     return $body

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP实现删除非站内外部链接实例代码》
文章链接:https://www.adminn.cn/news/8618.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

扫码支付后请联系右侧QQ发送下载地址!!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏