最近公司被人举报,说发布信息的destoonB2B网站有公司违反广告法违禁词,于是想到让destoon进行敏感词筛查,发布信息过滤广告法违禁关键词,并提示拦截就完美了,下面是具体代码,使用destoon程序做平台的网站都加一下吧,让不懂广告法的企业少点麻烦。
一、destoon过滤词设置的位置:
网站后台--->系统维护-->系统工具-->词语过滤 直接在里面添加或修改需要过滤的关键词就行了!
二、发布信息含有非法关键词,系统提示禁止发布的违禁词。
用destoon的都知道,由于很多会员会发布一些违法的关键词,为了屏蔽这些,会在destoon后台添加词语过滤拦截的功能。但是也有些destoon用户发现了一个问题,当一些会员发信息的内容中,包含了非法关键词,destoon系统默认只拦截,而不会提醒会员,是拦截了那个非法词,这样很不利于用户体验。。。。是不是?如果程序能提示用户,是拦截了什么非法关键词的话,用户就能很快的找到对应的关键词,进行修改发布,能很好的留住网站会员。
下面,我分享一下提示代码。
第一步:
在程序对应位子中找到include.inc.php
\lang\zh-cn\include.inc.php
在include.inc.php,文件中的
$L['defend_proxy'] = '请不要使用代理访问本站';
后面加上以下提示代码
$L['msg_word_ban'] = '提交的内容含有被网站禁止的字符:{V0}';
第二步:
在程序对应位子中找到global.func.php
\include\global.func.php
在文件中找到在437行左右。
function banword($WORD, $string, $extend = true) {
$string = stripslashes($string);
foreach($WORD as $v) {
$v[0] = preg_quote($v[0]);
$v[0] = str_replace('/', '\/', $v[0]);
$v[0] = str_replace("\*", ".*", $v[0]);
if($v[2] && $extend) {
if(preg_match("/".$v[0]."/i", $string)) d;
} else {
if($string == '') break;
if(preg_match("/".$v[0]."/i", $string)) $string = preg_replace("/".$v[0]."/i", $v[1], $string);
}
}
return addslashes($string);
}
替换成下面这个
function banword($WORD, $string, $extend = true) {
$string = stripslashes($string);
foreach($WORD as $v) {
$v[0] = preg_quote($v[0]);
$v[0] = str_replace('/', '\/', $v[0]);
$v[0] = str_replace("\*", ".*", $v[0]);
if($v[2] && $extend) {
if(preg_match("/".$v[0]."/i", $string)) d;
} else {
if($string == '') break;
if(preg_match("/".$v[0]."/i", $string)) $string = preg_replace("/".$v[0]."/i", $v[1], $string);
}
}
return addslashes($string);
}