我有一个ASP.NET应用程序,可以在SQL数据库中接受用户注释。我想确保我清除任何“顽皮”的字样,这样我就可以保持我的应用程序受人尊敬。问题是我发现这些词很多。 ;>
我的问题是,进行此处理的最有效方法是什么?我应该在SQL中有一个表并编写一个存储的proc来完成这项工作吗?我应该在Web服务器的内存中使用c#和Regex吗?还有其他选择吗?有没有其他人成功地进行过大规模的文本扫描?如果是,什么有用?
答案 0 :(得分:9)
这是徒劳的任务。如果有人想发誓那么他们就会开始输入f uck
和sh*t
等内容。
有效的节制是无可替代的。其他任何内容都可能会在您的网页上出现clbuttic错误
我记得某个地方有关社会问题的技术解决方案的引用,但我现在无法采购
答案 1 :(得分:2)
我们应该试图在代码中解决这个问题。
答案 2 :(得分:0)
已经有一些Perl模块可以为您完成所有这些。
https://metacpan.org/pod/Regexp::Common::profanity
答案 3 :(得分:0)
这里有一些事情需要考虑:
所以我会将消息保留在数据库中,并在呈现之前解析它。对我来说,看起来最有效的方法是:
在这两种情况下,您只需浏览每个评论并对其进行过滤即可。后一种方法更容易实现,但意味着您必须在内存中保留一个列表,当您拥有一个非常大的黑名单时,该列表就会停止运行。
(我实际上认为使用正则表达式毫无意义。)