<?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
相關文章
14 Jul 2017
所謂的敏感字符是指:在文章中含有不健康或反動類的信息,影響社會的信息,就會被視為敏感字符。因為有時候使用者輸入的敏感字元會無形中影響了程式的正確執行,而著名的資料庫注入攻擊就是 在查詢條件裡面加入 資料庫的控制指令,從而達到攻擊者的目的。
22 Mar 2017
一碼 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/x ..
05 Apr 2023
隨著網路的普及,大量的資訊在網路上傳播,其中也包含了不良的訊息,如暴力、色情、謾罵等,這些資訊不僅會影響網友的心理健康,還會造成社會不良影響。因此,在網站的開發過程中,需要對敏感詞彙進行過濾,保障網友的合法權益。而在開發中,PHP程式語言是一種常用的程式語言,本文將詳細介紹PHP過濾敏感詞彙並替換的方法。一、概述通常情況下,我們需要在網站上存取評論或發佈內容時,判斷敏感詞彙是否
17 Jul 2023
PHP陣列的敏感字詞過濾和替換方法和技巧在開發網站或應用程式時,保護使用者資料的安全性是非常重要的。其中一個常見的任務是敏感詞過濾和替換。本文將介紹一些使用PHP數組來實現敏感詞過濾和替換的方法和技巧。在建立敏感詞列表首先,我們需要建立一個敏感詞列表。這個清單可以是一個簡單的數組,裡面存放著所有的敏感字。例如:$sensitiveWords=array(
07 Aug 2023
如何用PHP實現CMS系統的敏感詞過濾功能隨著網路的廣泛應用,諸如部落格、論壇等CMS系統成為了人們交流、分享資訊的重要平台。然而,隨之而來的也是一些不文明、不健康的言論和內容。為了維護網路環境的健康和友好,我們需要在CMS系統中加入敏感詞過濾功能來屏蔽或取代敏感詞彙。本文將教你如何使用PHP實作CMS系統的敏感字詞過濾功能,並提供對應的程式碼範例。一、建構敏感詞
26 Aug 2023
使用PHP實現即時聊天功能的訊息過濾與敏感字詞處理在現代社交網路和線上聊天應用程式的發展下,即時聊天功能已成為常見的功能需求。在發展這類功能時,不可避免地需要考慮到使用者發言的內容是否合法、是否包含敏感詞彙。本文將介紹如何使用PHP實現即時聊天功能的訊息過濾與敏感字詞處理,以保障使用者的使用體驗與平台的安全性。一、訊息過濾的基本原理訊息過濾的基本原理是將使用者輸入的文字