dedecms的新版本在互动部分有词语过滤功能,但是文章内容部分没有添加此功能,我们可以自己手动修改下文章禁用词语过滤功能。
dedecms发布文章添加禁用词语过滤功能(图示)
在/dede/article_add.php中的代码:
if(!TestPurview('a_Check,a_AccCheck,a_MyCheck'))
{
$arcrank = -1;
}
之前添加代码:
//词汇过滤检查
if( $cfg_notallowstr != '' )
{
if(preg_match("#".$cfg_notallowstr."#i", $title))
{
ShowMsg("title has not allow words!","-1");
exit();
}
if(preg_match("#".$cfg_notallowstr."#i", $shorttitle))
{
ShowMsg("shorttitle has not allow words!!","-1");
exit();
}
if(preg_match("#".$cfg_notallowstr."#i", $description))
{
ShowMsg("description has not allow words!","-1");
exit();
}
if(preg_match("#".$cfg_notallowstr."#i", $body))
{
ShowMsg("body has not allow words!","-1");
exit();
}
}
同时修改/dede/article_edit.php中对应代码部分就可以了。
这样可以做到在后台添加修改内容时,保存不成功。但如果之前已经添加的内容怎么办呢,怎么设置违禁词过滤及替换,下面将方法也分享给大家:
对于以前很多站点中存在的违反广告法内容的情况,针对dede可以做一个敏感词过滤库,方法思路在于利用dede原有的敏感词过滤选项【系统默认仅针对投稿用户的,后台直接发布不受控制】,进行文章内容的关键词过滤。
在“后台-系统-基本参数-互动设置-替换词语”中添加好要过滤的关键词,在文章body字段调用时做一个替换,具体操作如下:
{dede:field.body runphp=yes}
global $cfg_replacestr;
@me = preg_replace("#{$cfg_replacestr}#i", "***", @me);
{/dede:field.body}
设置好之后,重新生成一遍所有的内容就可以了。