小程序-云开发-如何对敏感词进行过滤即内容安全的检测(下)

虽互不曾谋面,但希望能和您成为笔尖下的朋友

以读书,技术,生活为主,偶尔撒点鸡汤

不作,不敷衍,意在真诚吐露,用心分享

点击左上方,可关注本刊

标星公众号(ID:itclanCoder

如果不知道如何操作

点击这里,标星不迷路

━━━━━━

━━━━━━

我希望您保持空杯

一边阅读一边思考

更重要是要动手敲

如果有收获三连击

作者 | 随笔川迹

ID | suibichuanji

前言

撰文:川川

您将在本文中学习另外一种方式如何在小程序中对一段文本进行检测是否含有违规内容

  • 云函数中进行简单的配置一下,就可以实现文本内容的校验

  • 小程序端进行文本内容的弱校验,减少API的请求

  • 如何将涉及违规的文本内容用*号代替,进行过滤处理

  • 云函数调用方式的优点(推荐使用)

本文重点在于

  • 学会如何在小程序云开发中的云函数后端进行配置,实现文本内容的校验

  • 小程序端在什么时机进行弱校验,为什么有必要这么做

  • 遇到违规文本内容用特殊字符替代

·  正  ·  文  ·  来  ·  啦  ·

在前面一文小程序-云开发-如何对敏感词进行过滤即内容安全的检测(上)中通过在小程序端请求云函数msgSecCheck1,通过request,request-promise请求微信提供的内容安全接口以及获取access_token,实现了对小程序端输入文本内容安全的检测

如果您之前有动手实践过的话,您依然发现,这个过程仍然很复杂,分别要请求两个接口,还要拼接字段,还要手动的去查找APPID,以及APPSECRET秘钥

在如今的云开发中,提供了文本内容检测的接口,只需要简单的配置一下就可以了的

下面就来看一下是如何简单,实现的

01

在云函数目录下创建云函数

小程序端的代码几乎不用怎么变,这里为了区别上一节代码,在云函数端重新创建一个msgSecCheck2的云函数

小程序端wxml

<!--pages/msgSecCheck/msgSecCheck.wxml-->
<view class="container">
  <textarea class="content" placeholder="写点文字..." bindinput="onInput" auto-focus bindfocus="onFocus" bindblur="onBlur">
  </textarea>
</view>

<view class="footer">
  <button class="send-btn" size="default" bind:tap="send">发布</button>
</view>

小程序端wxss

/* pages/msgSecCheck/msgSecCheck.wxss */
.container {
  padding: 20rpx;
}

.content {
  width: 100%;
  height: 360rpx;
  box-
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
敏感词过滤是指在文本中过滤掉一些敏感词汇,以避免给人带来不必要的困扰或者麻烦。在Java中实现敏感词过滤可以使用正则表达式或者Trie树等算法。这里提供一个简单的Trie树实现敏感词过滤的代码示例: ```java import java.util.HashSet; import java.util.Set; public class SensitiveWordsFilter { private TrieNode root; public SensitiveWordsFilter() { root = new TrieNode(); } public void addWord(String word) { TrieNode node = root; for (char c : word.toCharArray()) { if (!node.containsKey(c)) { node.put(c, new TrieNode()); } node = node.get(c); } node.setEnd(); } public Set<String> filter(String text) { Set<String> set = new HashSet<>(); for (int i = 0; i < text.length(); i++) { TrieNode node = root; for (int j = i; j < text.length(); j++) { char c = text.charAt(j); if (!node.containsKey(c)) { break; } node = node.get(c); if (node.isEnd()) { set.add(text.substring(i, j + 1)); } } } return set; } private static class TrieNode { private TrieNode[] children; private boolean isEnd; public TrieNode() { children = new TrieNode[256]; isEnd = false; } public boolean containsKey(char c) { return children[c] != null; } public void put(char c, TrieNode node) { children[c] = node; } public TrieNode get(char c) { return children[c]; } public void setEnd() { isEnd = true; } public boolean isEnd() { return isEnd; } } } ``` 使用示例: ```java SensitiveWordsFilter filter = new SensitiveWordsFilter(); filter.addWord("敏感词1"); filter.addWord("敏感词2"); Set<String> set = filter.filter("这是一段包含敏感词1和敏感词2的文本。"); System.out.println(set); // 输出 [敏感词1, 敏感词2] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值