搜尋
首頁PHP 函式庫其它類別庫敏感詞過濾的php類別庫
敏感詞過濾的php類別庫
<?php
class Logic_BlackWord
{
  const APP_FORUM = 1;
  const APP_BLOG  = 2;
  const APP_VOTE  = 3;
  public function getHitList($txt)
  {
    $hitList = array();
    $max = $this->getMax();
    if($max)
    {
      $size = 1000;
      $last = ceil($max/$size);
      for($page=1;$page<=$last;$page++)
      {
        $result = $this->getHitListByPage($txt,$page,$size);
        if($result) $hitList = array_merge($hitList,$result);
      }
    }
    $hitList2 = array();
    foreach($hitList as $hit=>$type)
    {
      $hitList2[$type][] = $hit;
    }
    return $hitList2;
  }

本類庫的敏感詞替換演算法,效率比str_replace高4倍(附6仟個敏感詞),這個類庫是沒有學習過Trie樹的時候寫的,之後我接觸了AC算法,我的演算法和AC是類似的結構和邏輯,都是利用樹,空間換時間,對搜尋/取代海量資料幫助很明顯。 
strtr是KMP演算法的代表,在對待海量詞彙上面,並無優勢,每次都要載入詞庫到記憶體。 
使用AC演算法寫成擴展,將詞庫載入記憶體中,是最好的處理方式。 
所以badword.src.php可供學習AC演算法、學習尋找替換等。 

免責聲明

本站所有資源皆由網友貢獻或各大下載網站轉載。請自行檢查軟體的完整性!本站所有資源僅供學習參考。請不要將它們用於商業目的。否則,一切後果都由您負責!如有侵權,請聯絡我們刪除。聯絡方式:admin@php.cn

相關文章

為什麼要從 Python 中的「object」繼承:一個類別繼承問題為什麼要從 Python 中的「object」繼承:一個類別繼承問題

24Dec2024

了解 Python 類別繼承在 Python 中,類別可以從其他類別繼承,這使它們能夠存取父類別的屬性並...

如何在 Linux 上建立和使用動態共用 C 類別庫?如何在 Linux 上建立和使用動態共用 C 類別庫?

05Dec2024

在 Linux 上建立和使用動態共用 C 類別庫建立共用類別庫要建立共用 C 類別庫,您可以依照...

PHP5試用(二)_PHP教程PHP5試用(二)_PHP教程

21Jul2016

PHP5試用(二)。抽象類別 抽象類別不能被實例化。 抽象類別與其它類別一樣,允許定義變數及方法。 抽象類別同樣可以定義一個抽象的方法,抽象類別的方法不會被執

為什麼無法在字段初始化程序中初始化非靜態字段?為什麼無法在字段初始化程序中初始化非靜態字段?

03Jan2025

了解欄位初始化問題在您的程式碼中,您有一個儲存庫類別 (DinnerRepository) 和一個服務類別 (Service),它使用...

如何在 NetBeans 中設定 Java 專案的類別路徑?如何在 NetBeans 中設定 Java 專案的類別路徑?

07Dec2024

在 NetBeans 中設定類別路徑在 NetBeans 中使用 Java 時,您可能需要調整類別路徑以包含其他程式庫或 JAR...

SimpleDateFormat 是執行緒安全的嗎?SimpleDateFormat 是執行緒安全的嗎?

06Dec2024

SimpleDateFormat 的線程安全性問題儘管 Java 因其線程安全類別而聞名,但 SimpleDateFormat 類別是一個例外,它...

See all articles