zoukankan      html  css  js  c++  java
  • 根据组合关键词屏蔽垃圾广告

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

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

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

    代码
    /// <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;
            }
  • 相关阅读:
    迅为RK3399开发板嵌入式linux开发指南
    迅为iMX8M Mini开发板NXP i.MX8系列ARM cortex A53 M4核心板
    谱聚类(上篇)
    html 新增标签
    前段文件上传
    vue设置cookie和获取cookie
    vue 中使用element ui 回显问题
    vue实现表格自建与表格内容填写
    Delphi Datasnap Post请求
    Nginx SSL 配置https
  • 原文地址:https://www.cnblogs.com/imbin/p/1849026.html
Copyright © 2011-2022 走看看