您的位置:首页 > 编程语言 > PHP开发

PHP判断用户名中是否存在敏感词

2018-03-01 20:34 295 查看
$username = I('username');
$names=M('mgc')->field('mgc')->select();
//取数据库中存在的敏感词库
 $hei = array_column($names, 'mgc');

 $blacklist="/".implode("|",$hei)."/i";
if(preg_match($blacklist, $username, $matches)){
$this->apiAjaxReturn("", false, '用户名中包含敏感词');

}
 思路是,先获取敏感词库,然后拼接成字符创,然后与用户名做匹配,如果匹配上了就是包含,没匹配上就是没有
 补充一下,上面那个用正则表达式对应的方法可能会出问题,就是敏感词巨多的时候,会超出限制。$num=substr_count($username,$blacklist);
if($num>0){
echo("有敏感词");
}else{
echo("安全");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  敏感词问题