Maison > cadre php > Laravel > À propos de l'utilisation du framework Laravel pour implémenter la fonction de filtrage de mots sensibles

À propos de l'utilisation du framework Laravel pour implémenter la fonction de filtrage de mots sensibles

藏色散人
Libérer: 2021-01-28 08:54:53
avant
2641 Les gens l'ont consulté

La colonne suivante du Tutoriel Laravel vous présentera comment utiliser le framework laravel pour implémenter la fonction de filtrage de mots sensibles. J'espère que cela sera utile aux amis dans le besoin !

Les projets récents ont une demande. Pour signer la signature de l'utilisateur, répondez aux mots sensibles, puis trouvez une extension facile à utiliser et partagez-la avec tout le monde.

https://github.com/FireLustre/php-dfa-sensitive

Installer via composer :

composer require lustre/php-dfa-sensitive
Copier après la connexion
Puis dans le répertoire de l'application Créer Services et ajoutez SensitiveWords.php

<?php
namespace App\Services;
use DfaFilter\SensitiveHelper;
class SensitiveWords
{
  protected static $handle = null;
  private function __construct()
  {
  }
  private function __clone()
  {
  }
  /**
   * 获取实例
   */
  public static function getInstance($word_path = [])
  {
    if (!self::$handle) {
      //默认的一些敏感词库
      $default_path = [
        storage_path(&#39;dict/bk.txt&#39;),
        storage_path(&#39;dict/fd.txt&#39;),
        storage_path(&#39;dict/ms.txt&#39;),
        storage_path(&#39;dict/qt.txt&#39;),
        storage_path(&#39;dict/sq.txt&#39;),
        storage_path(&#39;dict/tf.txt&#39;),
      ];
      $paths = array_merge($default_path, $word_path);
      self::$handle = SensitiveHelper::init();
      if (!empty($paths)) {
        foreach ($paths as $path) {
          self::$handle->setTreeByFile($path);
        }
      }
    }
    return self::$handle;
  }
  /**
   * 检测是否含有敏感词
   */
  public static function isLegal($content)
  {
    return self::getInstance()->islegal($content);
  }
  /**
   * 敏感词过滤
   */
  public static function replace($content, $replace_char = &#39;&#39;, $repeat = false, $match_type = 1)
  {
    return self::getInstance()->replace($content, $replace_char, $repeat, $match_type);
  }
  /**
   * 标记敏感词
   */
  public static function mark($content, $start_tag, $end_tag, $match_type = 1)
  {
    return self::getInstance()->mark($content, $start_tag, $end_tag, $match_type);
  }
  /**
   * 获取文本中的敏感词
   */
  public static function getBadWord($content, $match_type = 1, $word_num = 0)
  {
    return self::getInstance()->getBadWord($content, $match_type, $word_num);
  }
}
Copier après la connexion

Ensuite, nous pouvons utiliser

dans le projet pour savoir s'il y a des mots sensibles dans le texte. SensitiveWords::getBadWord()

$bad_word = SensitiveWords::getBadWord($content);
if (!empty($bad_word)) {
  throw new \Exception(&#39;包含敏感词:&#39; . current($bad_word));
}
Copier après la connexion

Créez un répertoire dict dans le répertoire de stockage pour stocker le dictionnaire de mots sensibles, bk.txt...etc.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal