zhansheng2007 发表于 2016-3-9 11:21:26

DT6.0 非法关键词,词语过滤,提示代码 有利于用户使用

本帖最后由 zhansheng2007 于 2016-3-9 11:22 编辑

由于很多会员会发布一些违法的关键词,

当一些会员发信息的内容中,包含了非法关键词,dt只会拦截,而不会提醒会员,究
竟是拦截了哪个非法词
,这样很不利于用户体验。。。。


第一步:
在程序对应位子中找到include.inc.php

\lang\zh-cn\include.inc.php

在include.inc.php,文件中的 结尾处添加

[*]$L['msg_word_ban'] = '提交的内容含有被网站禁止的字符:{V0} ;请修改后在提交';复制代码

添加完毕是这样的;
$L['msg_word_ban'] = '提交的内容含有被网站禁止的字符:{V0} ;请修改后在提交';
?>

第二步:
在程序对应位子中找到global.func.php
\include\global.func.php

在文件中找到在448行左右。
function banword($WORD, $string, $extend = true) {
   $string = stripslashes($string);
   foreach($WORD as $v) {
       $v = preg_quote($v);
       $v = str_replace('/', '\/', $v);
       $v = str_replace("\*", ".*", $v);
       if($v && $extend) {
         if(preg_match("/".$v."/i", $string)) dalert(lang('include->msg_word_ban'));
       } else {
         if($string == '') break;
         if(preg_match("/".$v."/i", $string)) $string = preg_replace("/".$v."/i", $v, $string);
       }
   }
   return addslashes($string);
}
替换为:
[*]function banword($WORD, $string, $extend = true) {
[*]       $string = stripslashes($string);
[*]       foreach($WORD as $v) {
[*]               $v = preg_quote($v);
[*]               $v = str_replace('/', '\/', $v);
[*]               $v = str_replace("\*", ".*", $v);
[*]               if($v && $extend) {
[*]               if(preg_match("/".$v."/i", $string)) dalert(lang('include->msg_word_ban',array($v)));
[*]               } else {
[*]                     if($string == '') break;
[*]                     if(preg_match("/".$v."/i", $string)) $string = preg_replace("/".$v."/i", $v, $string);
[*]               }
[*]       }
[*]       return addslashes($string);
[*]}复制代码

完事了赶紧去体验一下吧: 别忘了回来评价一下使用体会哦!

提交的内容含有被网站禁止的字符:
关键词
;请修改后在提交! 就是屏蔽的文字了, 用户立即就明白有什么违法信息了.

zhao90 发表于 2016-3-9 12:59:43


支持分享

liupt 发表于 2016-3-9 17:47:47


支持支持,期待每天学习一帖

枪口的雨 发表于 2016-3-9 17:54:15


厉害厉害

wanghaitaosha 发表于 2016-3-9 18:13:27


好人啊,必须顶。

joy 发表于 2016-3-10 08:36:13


学习一下

龙在天涯 发表于 2016-3-10 08:46:23


这种修改很不错,支持一下
页: [1]
查看完整版本: DT6.0 非法关键词,词语过滤,提示代码 有利于用户使用