博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关键字校验
阅读量:4974 次
发布时间:2019-06-12

本文共 2234 字,大约阅读时间需要 7 分钟。

今天写点有意思的东西。从昨晚到今晚,花了一天时间写了一个关键字校验的内容:很简单(自认为感觉挺实用的...)

不管怎样,的确挺有趣的。(主要用到了模糊查询)

背景是这样的:在用户和管理员发布1.帖子信息,2.评论,3.留言时,要对这三者进行一个验证(即所谓的关键字过滤,出现了脏话我就不让他发表)。

思路:

1.要在post,reply,message这三个表中都添加一个新字段xxx_review(表示该条记录是否被发布,默认为0通过关键字过滤改为1)

2.先将profanity(关键字表)表里的所有脏话查出来,放进一个List中。

3.通过模糊查询,查询要被验证的信息里是否含有profanityText

以post为例,演示验证的过程:

post有postName以及postText,这两者只要有一个含有脏话就不允许发布post

PostMapper:下面的代码中post_top字段就是post_review字段(偷懒了,不想改了)我只上传了一部分会用到的sql语句

1 
2 9
10 13
14 17
18 21
22
23 update post set post_top = #{postTop} where post_id = #{postId}24

profanityService层:直接在insertPost之后调用该方法。

1 //利用传出的Profanity集合过滤postName以及postText,如果post通过过滤则返回一个1反之则为0(在insert一条post的时候调用) 2     @Override 3     public int checkProfanityPost(int postId) { 4         // TODO Auto-generated method stub 5         List
profanityList = profanityMapper.selectProfanityAll(); 6 for(int i=0;i
map = new HashMap
(); 8 map.put("profanityText", "%"+profanityList.get(i).getProfanityText()+"%"); 9 map.put("postId", postId);10 Post postNameProfanity = postMapper.fuzzyQueryPostNameByProfanity(map);11 if(postNameProfanity!=null){12 //表示发布失败13 return 0;14 }15 Post postTextProfanity = postMapper.fuzzyQueryPostTextByProfanity(map);16 if(postTextProfanity!=null){17 return 0;18 }19 }20 Post post = new Post();21 post.setPostId(postId);22 post.setPostTop(1);23 postMapper.updatePostTop(post);24 return 1;25 }

再添加这条post之后直接进行过滤判断是否含有脏话,有的话在前台是不会显示的。

先这样,等过段时间再回来看看要是看不懂的话,再往里面添加内容。

 

转载于:https://www.cnblogs.com/rendachang/p/7061800.html

你可能感兴趣的文章
解密个推持续集成
查看>>
基本SCTP套接字编程常用函数
查看>>
C 编译程序步骤
查看>>
页面抓取匹配时,万恶的\r,\n,\t 要先替换掉为空,出现匹配有问题,都是这个引起的...
查看>>
利用Node.js调用Elasticsearch
查看>>
构造函数
查看>>
LeetCode N-Queens
查看>>
jstat 命令
查看>>
leetcode[155]Min Stack
查看>>
《代码不朽:编写可维护软件的10大要则(C#版)》读后感
查看>>
04、我的.net Core的学习 - 网页版Hello World
查看>>
分块学习
查看>>
UIWebView 屏蔽或者修改 alert警告框
查看>>
Qt-第一个QML程序-3-自定义一个按钮
查看>>
分布式系统事务一致性解决方案
查看>>
树梅派中文输入法支持
查看>>
[Git] 005 初识 Git 与 GitHub 之分支
查看>>
使用Analyze 和Instruments-Leaks分析解决iOS内存泄露
查看>>
Vue.js的入门
查看>>
【自定义异常】
查看>>