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設置不同的敏感詞庫。






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