欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ucenter中詞語(yǔ)過濾原理分析

 更新時(shí)間:2016年07月13日 09:17:35   作者:dreamzml  
這篇文章主要介紹了ucenter中詞語(yǔ)過濾原理,結(jié)合實(shí)例形式分析了ucenter中詞語(yǔ)的相關(guān)sql字段定義與過濾功能的實(shí)現(xiàn)方法,涉及php正則替換及字符串與數(shù)組的相關(guān)操作技巧,需要的朋友可以參考下

本文分析了ucenter中詞語(yǔ)過濾原理。分享給大家供大家參考,具體如下:

過濾詞語(yǔ)表:

id admin find replacement findpattern
1 UCenterAdminist 訪問 /訪問/is
2 UCenterAdminist 4655 45 /4655/is
3 UCenterAdminist fdsaf dfsa /fdsaf/is
4 UCenterAdminist 有機(jī)會(huì) /有機(jī)會(huì)/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() 的每個(gè)參數(shù)(除了 limit)都可以是一個(gè)數(shù)組。如果 pattern 和 replacement 都是數(shù)組,將以其鍵名在數(shù)組中出現(xiàn)的順序來進(jìn)行處理。這不一定和索引的數(shù)字順序相同。如果使用索引來標(biāo)識(shí)哪個(gè) pattern 將被哪個(gè) replacement 來替換,應(yīng)該在調(diào)用 preg_replace() 之前用 ksort() 對(duì)數(shù)組進(jìn)行排序。

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php安全過濾技巧總結(jié)》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語(yǔ)法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論