Example #1
0
        /// <summary>
        /// 返回脏字过滤列表
        /// </summary>
        /// <returns>返回脏字过滤列表数组</returns>
        public static string[,] GetBanWordList()
        {
            DNTCache cache = DNTCache.GetCacheService();

            string[,] str = cache.RetrieveObject("/Forum/BanWordList") as string[, ];
            if (str == null)
            {
                DataTable dt = DatabaseProvider.GetInstance().GetBanWordList();
                str = new string[dt.Rows.Count, 2];
                string temp = "";

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    temp = dt.Rows[i]["find"].ToString().Trim();
                    foreach (Match m in r.Matches(temp))
                    {
                        temp = temp.Replace(m.Groups[0].ToString(), m.Groups[0].ToString().Replace("{", ".{0,"));
                    }
                    str[i, 0] = BanWords.ConvertRegexCode(temp);
                    str[i, 1] = dt.Rows[i]["replacement"].ToString().Trim();
                }
                cache.AddObject("/Forum/BanWordList", str);
                dt.Dispose();
            }
            return(str);
        }
Example #2
0
 public static bool IsExistBanWord(string banWord)
 {
     banWord = banWord.Trim('|');
     foreach (DataRow dataRow in BanWords.GetBanWordList().Rows)
     {
         if (dataRow["find"].ToString().Trim() == banWord)
         {
             return(true);
         }
     }
     return(false);
 }