• 根据组合关键词屏蔽垃圾广告


    公司搞投票活动,就有投票公司老是上来发投票广告,不得已,想了个办法,屏蔽投票公司的广告,根据收集到的几个常用广告词,提交的时候检测,有就禁止提交。

    连着的词好检测,如“代理投票”,对“代 理 投 票”,“代,理,投,票”这样的广告,我选择了组合关键词判断。

    如有人填写“代 理 投 票”,我的办法是 “代” “理” “投” “票” 这四个字同时出现时,就判断是广告,禁止提交了。

    代码
    /// <summary>
            
    /// 检测是否含有垃圾信息,有则禁止提交,imbin
            
    /// </summary>
            
    /// <param name="str"></param>
            
    /// <returns></returns>
            public static bool CheckBadWords(string str)
            {
                
    if (string.IsNullOrEmpty(str)) return false;
                
    bool isBad = false;
                
    //关键词格式:代理投票,代|理|投|票
                string BadWords = ConfigurationManager.AppSettings["BadWords"];
                
    if (!string.IsNullOrEmpty(BadWords))
                {
                    var arrwords 
    = BadWords.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                    
    string[] arrwords2 = { "" };
                    
    foreach (string word in arrwords)
                    {
                        
    if (word.Contains("|"))//是否组合,代表必须同时出现
                        {
                            arrwords2 
    = word.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
                            
    if (arrwords2.Length > 0)
                            {
                                isBad 
    = true;
                                
    foreach (string word2 in arrwords2)
                                {
                                    
    if (!str.Contains(word2))
                                    {
                                        isBad 
    = falsebreak;//有一个词不对应则跳出
                                    }
                                }
                            }
                        }
                        
    else
                        {
                            
    if (str.Contains(word))
                            {
                                isBad 
    = true;
                            }
                        }
                        
    if (isBad) break;
                    }
                }
                
    return isBad;
            }
  • 相关阅读:
    SmartDb代码修改
    windows下Nginx+RTMP部署
    嵌入式linux下获取flash分区大小
    (转)Qt添加windows开机自启动
    (转)交叉编译lrzsz
    关于海思SDK在Ubuntu下安装错误问题
    电总协议串口调试助手
    使用git将本地仓库上传到远程仓库(转)
    c++中包含string成员的结构体拷贝导致的double free问题
    59. 可变参数
  • 原文地址:https://www.cnblogs.com/imbin/p/1849026.html
Copyright © 2020-2023  润新知