php去除外链的方法
2022-12-02 09:01:16
223
{{single.collect_count}}

php去除外链的方法:首先打开相应的PHP文件;然后通过定义的“Replace_Links”方法处理下文章内容;最后完成文章外部链接的自动删除即可。

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

推荐:《PHP视频教程

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

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

代码如下:

/** *删除非站内链接 * * @accesspublic * @param string$body内容 * @param array$allow_urls允许的超链接 * @returnstring */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;}
登录后复制

以上就是php去除外链的方法的详细内容,更多请关注php中文网其它相关文章!

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}