日期:2014-05-19  浏览次数:20483 次

急急急论坛过滤功能(做完论坛的高手进)只有25分了。全给了
我现在做了一个论坛,我想做脏话过滤,但是不删除也不屏弊,只是记下他的用户名我IP地址。我想知道。这个过滤用什么方法最好。还有就是具体的方案。
谢谢各位了。就差这一个功能了。困扰很久了

------解决方案--------------------
//假设脏话字典放在字符串数组arr中
//用户输入字符串sIn
StringBuilder pattern = new StringBuilder(4096);
foreach(string s in arr)
{
pattern.Append(s+ '| ');
}
pattern.Remove(pattern.Length-1,1);

Regex r = new Regex(pattern.ToString());

if (r.IsMatch(sIn))
{
//记录用户名和IP
}

可动态添加脏话列表,部分代码借用viena(维也纳nn)其它帖子提供的相关代码