/// <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); }
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); }