关于java脏字以及敏感字过滤

deeplee_ 2010-06-08 07:30:21
现在项目中要用,很赶没时间做了,不知哪位大大之前有过类似的经验,能不能给我源码以及脏字库,我们可以先讨论下思路,选一个相对较好的方案!!!再次感谢大家!!!
...全文
1668 49 打赏 收藏 转发到动态 举报
写回复
用AI写文章
49 条回复
切换为时间正序
请发表友善的回复…
发表回复
deeplee_ 2010-06-12
  • 打赏
  • 举报
回复
大家好!脏字过滤的问题已经解决了,采用的方案是:java文件和js结合的方式,js先将需要过滤的字符中含有的特殊字符先进行匹配,这个动作需要在客户端进行处理,以减轻服务器的压力,java类读取脏字库,用Pattern和Matcher进行正则表达式的转换,并静态化到内存,接收一个需要匹配的字符,然后和内存中的正则表达式匹配,返回true或者flase的结果,如为true,提示用户"非法字符",
大家还有其他的解决方法吗?之后我会在博客里贴出相关java类和js的代码,感谢大家的支持!!!
smi_ling 2010-06-09
  • 打赏
  • 举报
回复
觉得还是去大一点的网站上去下那些个JS文件,修修 改改这样速度点!!
whut_lcy 2010-06-09
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 luallen 的回复:]
过滤只是治标, 你把 fuck过滤了 我可以写 f*u*c*k, 关键是提高 使用者的素质
[/Quote]

正解。现在在线游戏都有敏感词过滤,如跑跑。 你连续起来写会用*代替,但是你不写一个完整的单词,就识别不出来。

另外,单词过滤就像卡巴杀毒,地毯式过滤。但也会过于自作聪明,起到“提醒”别人脏字的副作用。

你在干什么 --->你在**什么


所以,过滤如果不结合上下文,是没有用的。空摆设。
deeplee_ 2010-06-09
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 monet123 的回复:]
把能涉及到的脏词做成一个String[]
然后入股内容涉及脏字把内容进行replace掉
最好是词,单字的话很难弄
一山又比一山高,不可能防所有的,防常用的就成
[/Quote]

有理,现在问题就是脏字库哪里来?不可能一个慢慢来写?
monet123 2010-06-09
  • 打赏
  • 举报
回复
把能涉及到的脏词做成一个String[]
然后入股内容涉及脏字把内容进行replace掉
最好是词,单字的话很难弄
一山又比一山高,不可能防所有的,防常用的就成
cnliming 2010-06-09
  • 打赏
  • 举报
回复
ding ,有结果共享下
dragonisgod 2010-06-09
  • 打赏
  • 举报
回复
关注中
Andluy_liukun 2010-06-09
  • 打赏
  • 举报
回复
我也有类似的需求 过滤ip txt文本由20多M 给的全是ip段怎么解决


212.63.171.52 212.63.171.55 意大利 CZ88.NET
212.63.171.56 212.63.171.71 德国 CZ88.NET
212.63.171.72 212.63.171.75 英国 CZ88.NET
212.63.171.76 212.63.171.79 德国 CZ88.NET
212.63.171.80 212.63.171.83 意大利 CZ88.NET
212.63.171.84 212.63.171.87 法国 CZ88.NET
212.63.171.88 212.63.171.91 挪威 CZ88.NET
212.63.171.92 212.63.171.111 德国 CZ88.NET
212.63.171.112 212.63.171.115 瑞士 CZ88.NET

用Java读取ip段 然后和客户端ip比较 看是否跳转
deeplee_ 2010-06-09
  • 打赏
  • 举报
回复
我只想说这个功能看上去是比较鸡肋,但是客户有类似的需求,假设我像前面的朋友说的,复杂到用MACHINE LEARNING,那我觉得也没必要了,在我看来脏字过滤主要是针对一些比较敏感的字,如guo ming dang等,建立一个字库的目的是:慢慢的积累脏字,如果有很多的人,来加入的话,我想这个积累过程是很快的,且,
这个不是说别人能够避开过滤就不做了,如:“干”,这不是我们做程序的初衷!!!
yibafacai 2010-06-09
  • 打赏
  • 举报
回复
顶起关注
恶魔 2010-06-09
  • 打赏
  • 举报
回复
学习一下吧
JSPGen 2010-06-09
  • 打赏
  • 举报
回复
替换 是最简单的处理办法了
什么鬼哈哈 2010-06-09
  • 打赏
  • 举报
回复


贝叶斯算法可能能帮到你
bayougeng 2010-06-09
  • 打赏
  • 举报
回复
很简单的给你一个:干。
你知道我是在说什么么?
可能是心情不好,骂人了。
也可能是我在跟叫做蒋干的兄弟打招呼。
更有可能是朋友给了我一个喝酒的手势,我跟他说:干杯。
所以,趁早别有这样的想法,做出来的东西只会是一个不伦不类的鸡肋。
colin_pxx 2010-06-09
  • 打赏
  • 举报
回复
http://hi.baidu.com/rice4king/blog/item/344a2c168a28660a4b90a70a.html
http://j2eehome.javaeye.com/blog/614809
东方明珠2017 2010-06-09
  • 打赏
  • 举报
回复
路过,友情up
hjjk123 2010-06-09
  • 打赏
  • 举报
回复
应该用替换把!!只想到了replaceAll
海会圣贤 2010-06-09
  • 打赏
  • 举报
回复
没搞过,友情up
JSPGen 2010-06-09
  • 打赏
  • 举报
回复
将敏感词 放到一个对象 然后循环替换...
BearKin 2010-06-09
  • 打赏
  • 举报
回复
随便找个游戏网站 然后找他们注册帐号的验证JS 就能找到他们平时过滤的脏字了 其实也不是全都过滤的 像CSDN 咋过滤一早上起来还是那么多的广告贴嘛。。
加载更多回复(29)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧