当前位置: 首页 > news >正文

高端网站建设公司哪家公司好WordPress仿百度贴吧主题

高端网站建设公司哪家公司好,WordPress仿百度贴吧主题,湖北标书设计制作,深圳市招聘信息网站目录 1. 建立敏感词数据库表2. 定时任务#xff0c;读数据并建立敏感词树2.1 开启定时任务2.2 读数据并建立敏感词树 3. 使用 思路#xff1a; 将敏感词都存到数据库表中定时读取数据到内存中#xff0c;构建敏感词前缀树写工具方法#xff0c;使用内存中的前缀树判断消息… 目录 1. 建立敏感词数据库表2. 定时任务读数据并建立敏感词树2.1 开启定时任务2.2 读数据并建立敏感词树 3. 使用 思路 将敏感词都存到数据库表中定时读取数据到内存中构建敏感词前缀树写工具方法使用内存中的前缀树判断消息中是否包含敏感词或完成替换操作 1. 建立敏感词数据库表 CREATE TABLE bad_words (id bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 主键id,content text COMMENT 敏感词内容,create_user_idbigint(20) unsigned COMMENT 创建用户id,extra text COMMENT 扩展信息,create_time timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 创建时间,modify_time timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT 修改时间,status int DEFAULT 0 COMMENT 0存在1删除,PRIMARY KEY (id) ) ENGINEInnoDB CHARSETutf8 COLLATEutf8_general_ci;2. 定时任务读数据并建立敏感词树 项目启动的时候开始执行这一块。 2.1 开启定时任务 var (ctx context.ContextBadWordsTrie *BadWordsTrieNode )func InitCronLoader() {var err errorctx context.Background()err getBadWordsAndInitBadWordsTrie() // 初始化敏感词树if err ! nil {panic(err)}gocron.Every(3).Minutes().Do(getBadWordsAndInitBadWordsTrie)go func() {-gocron.Start()}() }2.2 读数据并建立敏感词树 func getBadWordsAndInitBadWordsTrie() error {// 从数据库获取信息badWordsList : getBadWordsFromDB()// 初始化敏感词树BadWordsTrie initTrie(badWordsList)return nil }func getBadWordsFromDB() []string {badWords : make([]*models.BadWord, 0)caller.LyhTestDB.Debug().Table(models.TableNameBadWord).Where(status0).Find(badWords)badWordsList : make([]string, 0)for _, item : range badWords {if item.Content ! {badWordsList append(badWordsList, item.Content)}}return badWordsList }func initTrie(badWordsList []string) *BadWordsTrieNode {root : BadWordsTrieNode{}for _, word : range badWordsList {addWord(root, word)}return root }type BadWordsTrieNode struct {Children map[rune]*BadWordsTrieNode }func addWord(root *BadWordsTrieNode, word string) {node : rootfor _, char : range word {if node.Children nil {node.Children make(map[rune]*BadWordsTrieNode)}if _, ok : node.Children[char]; !ok {node.Children[char] BadWordsTrieNode{}}node node.Children[char]} }3. 使用 可以写到工具中 // 检查是否包含敏感词 func CheckBadWords(message string) bool {return isContain(message, cronloader.BadWordsTrie) }// 将敏感词字符替换为* func CheckAndReplaceBadWords(message string) string {return replaceBadWords(message, *, cronloader.BadWordsTrie) }// 将敏感词字符替换为自定义字符 func CheckAndReplaceBadWordsWithSep(message string, sep rune) string {return replaceBadWords(message, sep, cronloader.BadWordsTrie) }func isContain(message string, root *cronloader.BadWordsTrieNode) bool {message strings.ToLower(message)runes : []rune(message)for i : 0; i len(runes); i {p : rootj : ifor j len(runes) p.Children ! nil {char : runes[j]if _, ok : p.Children[char]; ok {p p.Children[char]j} else {break}}if p.Children nil {return true}}return false }func replaceBadWords(message string, sep rune, root *cronloader.BadWordsTrieNode) string {message strings.ToLower(message)runes : []rune(message)for i : 0; i len(runes); i {p : rootj : ifor j len(runes) p.Children ! nil {char : runes[j]if _, ok : p.Children[char]; ok {p p.Children[char]j} else {break}}if p.Children nil {for k : i; k j; k {runes[k] sep}}}return string(runes) }
http://www.hkea.cn/news/14511349/

相关文章:

  • 网站设计分工找做帽子的工厂网站
  • php做用户登录网站网站开发的安全性主要考虑哪些
  • 菏泽网站建设服务网站建设秋实
  • dedecms建站教程建设银行扬中网站
  • 东莞建外贸网站好深圳有做网站的吗
  • 成都建站哪家好有没有专业做汽车坐垫网站
  • 兰州市科协网站免费模板网站下载
  • 邢台专业做wap网站推广普通话
  • 网站建设方案企业华为软件开发工程师月薪多少
  • liferay做网站好吗安全教育平台作业登录入口
  • 中国建设招标工程网站网站开发培训班 上地
  • 太原市微网站建设怎么利用网站赚广告费
  • 潇湘书院网站建设的目标专门做二维码的网站
  • wordpress x站中国十大人力资源外包公司
  • 建一个产品介绍网站工业设计最吃香的专业
  • 网站建设前 需要准备的微信做单网站
  • 先做网站还是做APP海南做公司网站
  • 大型门户网站设计解决方案新站网站建设
  • 收录网站源码有没有网址免费的
  • 手机版企业网站设计本app
  • 佛山网站建设公司怎么做中国建设app手机银行
  • 一流的高密网站建设app推广专员好做吗
  • 建设网站公司哪里好相关的热搜问题百度新闻
  • 电商网站如何存储图片wordpress+手机端
  • 刚做的网站搜全名查不到网络广告和传统广告的区别
  • 电脑网站建设企业网站建设的目标
  • 做网站算经商吗企业建设网站方案
  • 汽车网站设计论文最新的新开传奇网站
  • 网站建设管理情况汇报聚美优品网站建设主题
  • 开发大型网站的流程wordpress和抽奖页面