1 <?php
2 /**
3 * Created by PhpStorm. 5 * Date: 2019/1/29
6 * Time: 17:44
7 */
8
9 namespace App\Models;
10
11 use DfaFilter\SensitiveHelper;
12 use App\Models\Sensitive;
13
14 class StringHelper {
15
16 static private $instance;
17 static private $handle;
18
19 //敏感词库不能为空,所以必须要有默认值
20 private function getWordArray(){
21 $sensitive = new Sensitive;
22 $wordData = $sensitive ->getAllWordsCache();
23 return $wordData;
24 }
25
26 private function __construct(){
27 self::$handle = SensitiveHelper::init()->setTree($this->getWordArray());
28 }
29
30 static public function getInstance(){
31 if(!self::$instance instanceof self){
32 self::$instance = new self();
33 }
34 return self::$instance;
35 }
36
37 //敏感词用*代替
38 public function replace($content){
39 if(empty($content)){
40 return $content;
41 }
42 $content = self::$handle->replace($content,"***");
43 return $content;
44 }
45
46 //判断是否包含敏感词
47 public function islegal($content){
48 return self::$handle->islegal($content);
49 }
50
51
52
53
54 }

写一个PHP单例模式的更多相关文章

  1. 【多线程那些事儿】如何使用C++写一个线程安全的单例模式?

    如何写一个线程安全的单例模式? 单例模式的简单实现 单例模式大概是流传最为广泛的设计模式之一了.一份简单的实现代码大概是下面这个样子的: class singleton { public: stati ...

  2. 写一个Windows上的守护进程(2)单例

    写一个Windows上的守护进程(2)单例 上一篇的日志类的实现里有个这: class Singleton<CLoggerImpl> 看名字便知其意--单例.这是一个单例模板类. 一个进程 ...

  3. laravel学习:php写一个简单的ioc服务管理容器

    php写一个简单的ioc服务管理容器 原创: 陈晨 CoderStory 2018-01-14 最近学习laravel框架,了解到laravel核心是一个大容器,这个容器负责几乎所有服务组件的实例化以 ...

  4. Summer——从头开始写一个简易的Spring框架

    Summer--从头开始写一个简易的Spring框架                ​ 参考Spring框架实现一个简易类似的Java框架.计划陆续实现IOC.AOP.以及数据访问模块和事务控制模块. ...

  5. 怎样写一个webpack loader

    div{display:table-cell;vertical-align:middle}#crayon-theme-info .content *{float:left}#crayon-theme- ...

  6. 请写一个php函数,可以接受任意数量的参数

    请写一个php函数,可以接受任意数量的参数 这是一道面试题.怎么写这个函数呢? function fun(......) { } ----------------------------------- ...

  7. 学记:为spring boot写一个自动配置

    spring boot遵循"约定优于配置"的原则,使用annotation对一些常规的配置项做默认配置,减少或不使用xml配置,让你的项目快速运行起来.spring boot的神奇 ...

  8. 自己写一个 jQuery 插件

    我知道这一天终将会到来,现在,它来了. 需求 开发 SharePoint 的 CSOM 应用时,经常需要在网页上输出一些信息. 这种需求和 alert 的弹窗.F12 的断点查看信息的场景是不一样的: ...

  9. 深入浅出React Native 3: 从零开始写一个Hello World

    这是深入浅出React Native的第三篇文章. 1. 环境配置 2. 我的第一个应用 将index.ios.js中的代码全部删掉,为什么要删掉呢?因为我们准备从零开始写一个应用~学习技术最好的方式 ...

  10. 【转】用C写一个简单病毒

    [摘要]在分析病毒机理的基础上,用C语言写了一个小病毒作为实例,用TURBOC2.0实现. [Abstract] This paper introduce the charateristic of t ...

随机推荐

  1. BackTrader 简单BTC的SMA15回测DEMO

    import time import requests import json import csv from requests.packages.urllib3 import disable_war ...

  2. vue 数据没更新/dom没更新/样式没更新的各种解决方式

    1.用 $forceUpdate() 强制更新 2.用 this.$set(obj, key, value)/vue.set(obj, key, value) 向响应式对象中添加一个 property ...

  3. JavaScrip核心基础(讲师李立超)

    01_入门 01_HelloWorld <!-- JS代码需要编写到script中 --> <script> alert("哈哈哈哈") console.l ...

  4. Mongo 常用命令

    1.登入 docker exec -it  mongo mongo  数据库 db.auth("账号","密码") docker exec -it  mongo ...

  5. 肖sir___整理 电商详解__拼团活动

    电商平台营销活动设计--拼团活动设计 2022-11-29 18:02 拼团是指一定数量的消费者在规定时间内,组织成团,并因人数优势而获取额外优惠或其他利益的一种形式 一.简介 拼团作为一种营销活动, ...

  6. PHP_递归实现无限级分类

    <?php /** * 递归方法实现无限级别分类 * @param array $list 要生成树形列表的数组[该数组中必须要有主键id 和 父级pid] * @param int $pid= ...

  7. C语言的qsort函数

    C函数----qsort 函数 qsort()看起来和C++的sort()差不多,但是其实差别很大, qsort的cmp函数,传入的是指针,返回值是int sort的则传入值,返回值是bool 当qs ...

  8. PyQt5模块说明

    pyqt5的类别分为几个模块,包括以下: QtCoreQtGuiQtWidgetsQtMultimediaQtBluetoothQtNetworkQtPositioningEnginioQtWebSo ...

  9. kafka配置内外网同时访问

    #内网监听名称,这个在配置文件中没有需要添加 inter.broker.listener.name=INTERNAL #内网监听规则,第一个是内网,第二个是外网,注意端口不一样,端口可以自己定义 li ...

  10. 剑指 Offer II 二分查找

    068. 查找插入位置 class Solution { public: int searchInsert(vector<int>& nums, int target) { int ...