gem----敏感词过滤

前言: 项目中表单提交时,需要验证敏感词,如果提交的内容中包括敏感词,则给出提示,不允许提交。

参考了:https://github.com/wear/harmonious_dictionary


1.gem名称:

harmonious_dictionary
2. 在gemfile中添加,然后bundle install
gem 'harmonious_dictionary'
3.创建必要的配置文件,会在config目录下生成一个文件夹,里面包含中文和英文过滤词汇的两个.txt文件
rails g harmonious_dictionary:setup
4.step3创建的两个txt文件是空白的,需要添加对应的敏感词汇,请从

https://github.com/downloads/wear/harmonious_dictionary/dictionaries.zip 下载文件,直接覆盖文件夹下的两个txt文件,里面是一些常用的敏感词汇

后期可以自行添加。

5.生成序列化的词库

rake harmonious_dictionary:generate 
将会生成 harmonious.hash 与 harmonious_english.yml 两个文件。 

到此,准备工作完成了,接下来开始使用:

1.与rails本身的model属性验证一样,在对应的model中

validate_harmonious_of [:code, :name]
在提交表单的时候,即会验证是否含有词库中的敏感词,然后给出提示信息。(与model的属性验证并无二致)

2.此gem提供了三个方法用于手动验证是含有敏感词

  • 检查输入是否包含敏感词 HarmoniousDictionary.clean?(your_input)
  • 检查包含的敏感词 HarmoniousDictionary.harmonious_words(your_input)
  • 替换包含的敏感词为* HarmoniousDictionary.clean(your_input)
具体用法请自行使用。


ps:这是最基础的用法,也可针对不同的model设置不同的敏感词库。






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章