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


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

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

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

    代码
    /// <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;
            }
  • 相关阅读:
    请假两时间的小时数差
    Python3之旅
    python语法总结1
    关于命令行的小结
    从Java到C#再到python
    数据库知识
    Visual Studio高低版本的问题(以2008和2015为例)
    web api
    readoney和const
    null
  • 原文地址:https://www.cnblogs.com/imbin/p/1849026.html
Copyright © 2020-2023  润新知