ucenter中詞語過濾原理分析
本文分析了ucenter中詞語過濾原理。分享給大家供大家參考,具體如下:
過濾詞語表:
| id | admin | find | replacement | findpattern |
| 1 | UCenterAdminist | 訪問 | 大 | /訪問/is |
| 2 | UCenterAdminist | 4655 | 45 | /4655/is |
| 3 | UCenterAdminist | fdsaf | dfsa | /fdsaf/is |
| 4 | UCenterAdminist | 有機會 | 在 | /有機會/is |
組建緩存數(shù)據(jù):
//private
function _get_badwords() {
$data = $this->db->fetch_all("SELECT * FROM ".UC_DBTABLEPRE."badwords");
$return = array();
if(is_array($data)) {
foreach($data as $k => $v) {
$return['findpattern'][$k] = $v['findpattern'];
$return['replace'][$k] = $v['replacement'];
}
}
return $return;
}
調(diào)用方法:
$_CACHE['badwords'] = $this->base->cache('badwords');
if($_CACHE['badwords']['findpattern']) {
$subject = @preg_replace($_CACHE['badwords']['findpattern'], $_CACHE['badwords']['replace'], $subject);
$message = @preg_replace($_CACHE['badwords']['findpattern'], $_CACHE['badwords']['replace'], $message);
}
preg_replace() 的每個參數(shù)(除了 limit)都可以是一個數(shù)組。如果 pattern 和 replacement 都是數(shù)組,將以其鍵名在數(shù)組中出現(xiàn)的順序來進行處理。這不一定和索引的數(shù)字順序相同。如果使用索引來標識哪個 pattern 將被哪個 replacement 來替換,應(yīng)該在調(diào)用 preg_replace() 之前用 ksort() 對數(shù)組進行排序。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php安全過濾技巧總結(jié)》、《PHP運算與運算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
WampServer搭建php環(huán)境時遇到的問題匯總
這篇文章主要介紹了WampServer搭建php環(huán)境時遇到的常見問題的解決辦法匯總,以上所述就是本文的全部內(nèi)容了。2015-07-07
WordPress中用于獲取文章信息以及分類鏈接的函數(shù)用法
這篇文章主要介紹了WordPress中用于獲取文章信息以及分類鏈接的函數(shù)用法,分別是get_post()和get_category_link()的使用,需要的朋友可以參考下2015-12-12
php采集文章中的圖片獲取替換到本地(實現(xiàn)代碼)
本篇文章是對php采集文章中的圖片獲取替換到本地的實現(xiàn)代碼進行了詳細的分析介紹,需要的朋友參考下2013-07-07
PHP實現(xiàn)快速向MySQL插入千萬條數(shù)據(jù)
在開發(fā)中,有時需要向數(shù)據(jù)庫中插入大量數(shù)據(jù),本文將探討如何使用PHP來快速向MySQL數(shù)據(jù)庫插入1000萬條數(shù)據(jù),并分享一些優(yōu)化方法,以確保性能的最優(yōu)2023-08-08
php源碼分析之DZX1.5字符串截斷函數(shù)cutstr用法
這篇文章主要介紹了php源碼分析之DZX1.5字符串截斷函數(shù)cutstr用法,實例分析了DZX1.5中cutstr函數(shù)實現(xiàn)字符串截取的使用技巧,需要的朋友可以參考下2015-06-06
PHP調(diào)用Workerman5.0實現(xiàn)一對一聊天
這篇文章主要介紹了實現(xiàn)一對一聊天功能的相關(guān)代碼,本文將使用 Workerman 5.0 作為后端,使用WebSocket在前端進行通信,有需要的小伙伴可以參考一下2025-03-03

