织梦dedecms会员发布文章内容自动过滤外部链接的方法

简介: 织梦会员中心发布文章自动过滤外部外部链接,保留本站站内链接。这个织梦默认后台本身带有这样的功能的,只是会员模块里没有而已。

织梦会员中心发布文章自动过滤外部外部链接,保留本站站内链接。这个织梦默认后台本身带有这样的功能的,只是会员模块里没有而已。

 

我们可以把功能嫁接到会员模块里去使用,实现自动过滤外部链接

实现教程:

 

打开 /member/inc/inc_archives_functions.php 在文件的最下面插入:

 

/**

*  删除非站内链接

*

* @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(“#[nr]#”, ”, $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;

}

 

继续在这个文件中找到,大概在329行:

 

//自动摘要

 

在它上面加入:

 

//删除非站内链接

$allow_urls = array($_SERVER[‘HTTP_HOST’]);

// 读取允许的超链接设置

if(file_exists(DEDEDATA.”/admin/allowurl.txt”))

{

$allow_urls = array_merge($allow_urls, file(DEDEDATA.”/admin/allowurl.txt”));

}

$body = Replace_Links($body, $allow_urls);

相关文章
|
18天前
|
安全 JavaScript 开发者
网址链接跳转外部安全提醒代码
网页的安全性优化是一个越来越被开发者重视的问题,当本站链接点击跳转到第三方外链接时,要弹框提示信息,需要支持jquery引用 。
43 0
|
10月前
DedeCMS织梦文档关键词维护中设置自动关键词重复嵌套出错的修改方法
织梦 DedeCMS 后台的关键词维护默认的情况是字数少的词优先于字数多的词,比如我们有两个这样的词:锚文本、定向锚文本,第二个词包含了第一个词,在文章中如果出现“定向锚文本”这个词,默认情况下只会给锚文本两个字添加关键词超链接,而不是整个词,那么我们怎么样才能实现字数多的词优先于字数少的词呢?
|
存储 机器人 API
typecho博客增加评论过滤插件/违禁词拦截
typecho博客增加评论过滤插件/违禁词拦截
268 0
|
PHP 数据库
织梦DEDECMS自动内链一个关键字对应多个链接随机调用的设置方法
利用dedecsm织梦自动内链的时候,可能会有一个关键字对应多个网站,随机调用网址的需求,比如(织梦自动内链)这个关键词一些文章内链链接到网站的首页,一些链接到文章页,但是织梦中原带的功能,一个关键词只能加一个网址,网上找了很多办法也没有找到可用的,还好米米素材网懂一点点php,哪就自己动手吧。下面是织梦自动内链一个关键字对应多个链接,随机调用这些链接的解决办法。
|
数据采集 自然语言处理 文字识别
淘宝视频内容标签的结构化分析和管理
淘宝视频是如何分类的?又是如何保持不同类别视频样本得到相对均衡?又是如何应用的?
淘宝视频内容标签的结构化分析和管理
|
JavaScript 开发者
get方式提交新闻防止新闻被覆盖掉(补充说明)|学习笔记
快速学习 get 方式提交新闻防止新闻被覆盖掉(补充说明)
92 0
get方式提交新闻防止新闻被覆盖掉(补充说明)|学习笔记
|
JSON JavaScript 数据格式
get 方式提交新闻防止新闻被覆盖掉|学习笔记
快速学习 get 方式提交新闻防止新闻被覆盖掉
132 0
get 方式提交新闻防止新闻被覆盖掉|学习笔记
|
容器
监听器第二篇【统计网站人数、自定义session扫描器、踢人小案例】
从第一篇已经讲解过了监听器的基本概念,以及Servlet各种的监听器。这篇博文主要讲解的是监听器的应用。
153 0
监听器第二篇【统计网站人数、自定义session扫描器、踢人小案例】
智能顾问、博客编辑等多页面标准功能触发Adblock Plus规则
一次在编辑博客的时候,提交前的滑块验证无法通过,总是提示:网络不给力,请点击刷新,或提交反馈 (00)。然而提交反馈之后根本没有人理,这服务态度也是让人呵呵了。 相关截图: 智能顾问,你每发送一条信息,就会ABP那里的数字在增加;滑块验证也是一样。
1326 0
|
安全 测试技术
处理百度网址安全中心提醒您:该页面可能存在违法信息!处理过程及解决办法
2018年6月26日我们Sine安全公司接到新客户的安全求助,网站被阿里云提示:违规URL屏蔽访问处理通知,导致网站无法访问,打开网站并提示该内容被禁止访问。导致客户的网站流量急剧下滑,网站的用户都无法正常的登陆会员系统,损失较大,官方网站的形象受到严重的影响。
3646 0

热门文章

最新文章