源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-07-30 07:29 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PHP实现删除非站内外部链接实例代码
一般在做网站系统的时候,出于优化等因素的考虑需要再添加文章的时候删除掉不是本站的链接,对于这一要求可以通过让PHP处理下文章内容,来达到文章外部链接的自动删除的效果。 本实例代码主要参考织梦CMS内容管理系统的外链删除方法。
[u]复制代码[/u] 代码如下:
/**  *  删除非站内链接  *  * @access    public  * @param     string  $body  内容  * @param     array  $allow_urls  允许的超链接  * @return    string  */ function Replace_Links( &$body, $allow_urls=array()  ) {     $host_rule = join('|', $allow_urls);     $host_rule = preg_replace("#[\n\r]#", '', $host_rule);     $host_rule = str_replace('.', "\\.", $host_rule);     $host_rule = str_replace('/', "\\/", $host_rule);     $arr = '';     preg_match_all("#<a([^>]*)>(.*)<\/a>#iU", $body, $arr);     if( is_array($arr[0]) )     {         $rparr = array();         $tgarr = array();         foreach($arr[0] as $i=>$v)         {             if( $host_rule != '' && preg_match('#'.$host_rule.'#i', $arr[1][$i]) )             {                 continue;             } else {                 $rparr[] = $v;                 $tgarr[] = $arr[2][$i];             }         }         if( !empty($rparr) )         {             $body = str_replace($rparr, $tgarr, $body);         }     }     $arr = $rparr = $tgarr = '';     return $body; }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部