大佬教程收集整理的这篇文章主要介绍了cocos2d-lua敏感词过滤函数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
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 习大大
以上是大佬教程为你收集整理的cocos2d-lua敏感词过滤函数全部内容,希望文章能够帮你解决cocos2d-lua敏感词过滤函数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。