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;
            }
  • 相关阅读:
    MySQL的Date()函数拼接
    org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start()
    js判断对象是否为空对象的几种方法
    json,js中typeof用法详细介绍及NaN、 null 及 undefined 的区别
    将[object Object]转换成json对象
    升级d7的代码到2010以上版本注意事项(SetLength的参数就是字符长度,而不是字节长度,但Move函数要改)
    我是如何用 10 天自学编程,改变一生的?(学习编程的时候,不要死记硬背,要培养感觉)
    Anbox —— 在 Linux 系统中运行 Android 应用
    一定要在commit之前做RAR备份,这样在出问题的时候,可以排除别人代码的干扰
    排序算法总结
  • 原文地址:https://www.cnblogs.com/imbin/p/1849026.html
Copyright © 2011-2022 走看看