cocos2d-lua敏感词过滤函数
2015-12-02 16:46
441 查看
function cc.splitStringToWords(str) local words = {} for uchar in string.gfind(str, "[%z\1-\127\194-\244][\128-\191]*") do words[#words+1] = uchar end return words end function cc.filterSensitiveWord(str) local filter = { [" "] = true, ["。"] = true, [","] = true, ["、"] = true, [";"] = true, [":"] = true, ["’"] = true, ["‘"] = true, ["."] = true, [","] = true, ["/"] = true, [";"] = true, [":"] = true, ["'"] = true, } print("原字符:", str) local words = cc.splitStringToWords(str) local exist = false local pos = 1 while pos <= #words do local tmp = pos local t = cc.csvData["sensitive_words"][words[pos]] while t ~= nil do if next(t) then tmp = tmp +1 if filter[words[tmp]] then tmp = tmp +1 end t = t[words[tmp]] else print("find", pos, tmp) exist = true for i=pos, tmp do if filter[words[i]] ~= true then words[i] = "*" end end break end end if tmp ~= pos then pos = tmp else pos = pos +1 end end local newStr = "" if exist then for i=1, #words do newStr = newStr .. words[i] end else newStr = str end print("过滤后:", newStr) return newStr end
csv = path.."config/sensitive_words.csv"
cc.csvData["sensitive_words"] = {}
cc.praseCSV(csv,
function (idx,vals)
local words = cc.splitStringToWords(vals["code"])
--print("word", vals["code"], #words)
local t = cc.csvData["sensitive_words"]
local pos = 1
while pos <= #words do
if not t[words[pos]] then
t[words[pos]] = {}
end
t = t[words[pos]]
pos = pos+1
end
end)
单词 code 习大大
相关文章推荐
- 用 nodejs 写一个 cocos2dx-js 游戏自动更新版本的脚本
- 【cocos2d-x 3D游戏开发】1: 2D基础回顾---触摸事件(2.x)
- cocos2dx3.x绘制自己的node
- cocos2d-x札记 (一)----HelloWorld浅析
- 入手cocos2dx3.9笔记 3 tolua++解析
- cocos2d js显示远程下载的图片资源
- [Cocos2d-x/iOS源码]<诸神的挑战>三消新玩法
- 用AndroidStudio开发cocos2d-x 项目
- 【cocos2d-js系列问题】cocos2d HTML5和JSB接口差异,已知的兼容bug
- editbox点击空白隐藏键盘
- cocos2dx3.4开发环境搭建详解(3) cocos2dx lua项目发布到android手机
- cocos2dx js 常用端版本判断记录
- cocos进阶教程(5)回调函数和定时器的使用技巧
- 3D引擎:Horde3D:Cocos 和 Horde3D渲染部分的设计比较
- cocos2dx3.4开发环境搭建详解(2)
- Cocos2Dv3.4在AppDelegate中不返回的情况及解决
- Cocos2Dv3.4在AppDelegate中不返回的情况及解决
- Cocos2Dv3.4在AppDelegate中不返回的情况及解决
- cocos2d-x学习之自动内存管理和常见宏
- cocos2d-x学习笔记2