PHP实现删除非站内外部链接实例代码
发布:smiling 来源: PHP粉丝网 添加日期:2021-02-21 14:00:20 浏览: 评论:0
一般在做网站系统的时候,出于优化等因素的考虑需要再添加文章的时候删除掉不是本站的链接,对于这一要求可以通过让PHP处理下文章内容,来达到文章外部链接的自动删除的效果。
本实例代码主要参考织梦CMS内容管理系统的外链删除方法,代码如下:
- /**
- * 删除非站内链接
- *
- * @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( !emptyempty($rparr) )
- {
- $body = str_replace($rparr, $tgarr, $body);
- }
- }
- $arr = $rparr = $tgarr = '';
- return $body;
- }
Tags: PHP站内外部链接
- 上一篇:PHP定时更新程序设计思路分享
- 下一篇:php版淘宝网查询商品接口代码示例
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)