敏感詞過濾的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
相關文章

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

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

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

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

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


Hot Tools

熱門文章
丟失記錄:Bloom&Rage -Corey和Dylan的鎖組合
19 Feb 2025
手游攻略
Longvinter:完整的釣魚指南
21 Feb 2025
手游攻略
KCD 2:Zhelejov Marshes的地圖位置和解決方案
19 Feb 2025
手游攻略
Hello Kitty Island冒險:重新啟動機器人任務演練
16 Feb 2025
手游攻略
丟失的唱片:Bloom&Rage-如何打開機艙門
19 Feb 2025
手游攻略