日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

          歡迎訪問 生活随笔!

          生活随笔

          當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

          php

          敏感词过滤的php代码,PHP敏感词过滤

          發(fā)布時(shí)間:2024/9/27 php 24 豆豆
          生活随笔 收集整理的這篇文章主要介紹了 敏感词过滤的php代码,PHP敏感词过滤 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

          /**

          * 禁詞過濾

          * 執(zhí)行效率:每篇用時(shí)0.05秒

          * @author liuxu

          *

          */

          class Logic_BlackWord

          {

          const APP_FORUM = 1;

          const APP_BLOG? = 2;

          const APP_VOTE? = 3;

          /**

          * 過濾得到禁詞

          * @param unknown $txt

          * @return Ambigous

          */

          public function getHitList($txt)

          {

          $hitList = array();

          //對(duì)禁詞分批過濾

          $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;

          }

          private function getMax()

          {

          $redis = Rds::factory();

          $memKey = 'blackWord_max';

          $max = $redis->get($memKey);

          if($max===false)

          {

          $max = 0;

          $blackWord = new Model_BlackWord_BlackWord();

          $para['field'] = "MAX(id) AS max";

          $result = $blackWord->search($para);

          if(isset($result[0]['max'])) $max = $result[0]['max'];

          $redis->setex($memKey,300,$max);

          }

          return $max;

          }

          /**

          * 分批過濾得到禁詞

          * @param unknown $txt

          * @param number $page

          * @param number $size

          * @return multitype:Ambigous

          */

          private function getHitListByPage($txt,$page=1,$size=1000)

          {

          $hitList = array();

          //分批得到禁詞樹

          $wordTree = $this->getWordTreeByPage($page,$size);

          $txt = strip_tags($txt);

          $txt = preg_replace('/[^a-zA-Z0-9\\x{4e00}-\\x{9fa5}]/iu','',$txt);

          $len = mb_strlen($txt,'UTF-8');

          for($i=0;$i

          {

          $char = mb_substr($txt,$i,1,'UTF-8');

          if(isset($wordTree[$char]))

          {

          $result = $this->getHitListByTree(mb_substr($txt,$i,50,'UTF-8'),$wordTree);

          if($result)

          {

          foreach($result as $hit=>$type)

          {

          $hitList[$hit] = $type;

          }

          }

          }

          }

          return $hitList;

          }

          /**

          * 是否禁詞

          * @param str $txt

          * @param arr $wordTree

          * @return multitype:unknown

          */

          private function getHitListByTree($txt,&$wordTree)

          {

          $len = mb_strlen($txt,'UTF-8');

          $point = & $wordTree;

          $hit = '';

          $hitList = array();

          for($i=0;$i

          {

          $char = mb_substr($txt,$i,1,'UTF-8');

          if(isset($point[$char]))

          {

          $hit .= $char;

          $point = & $point[$char];

          if(isset($point['type']))//匹配成功

          {

          $hitList[$hit] = $point['type'];

          }

          }

          else

          {

          break;

          }

          }

          return $hitList;

          }

          /**

          * 分批得到禁詞樹

          * @param int $page

          * @param int $size

          * @return arr:

          */

          private function getWordTreeByPage($page=1,$size=1000)

          {

          $redis = Rds::factory();

          $memKey = 'blackWord_tree_'.$page.'_'.$size;

          $wordTree = $redis->get($memKey);

          if($wordTree===false)

          {

          $wordTree = array();

          $blackWord = new Model_BlackWord_BlackWord();

          $start = ($page-1)*$size;

          $end = $start + $size;

          $para['where'] = "status=1 AND id>".$start." AND id<=".$end;

          $result = $blackWord->search($para);

          if($result)

          {

          foreach($result as $value)

          {

          if($value['word'])

          {

          $value['word'] = preg_split('/(?

          $point = & $wordTree;

          foreach($value['word'] as $char)

          {

          $point = & $point[$char];

          }

          $point['type'] = $value['type'];

          }

          }

          }

          $redis->setex($memKey,300,$wordTree);

          }

          return $wordTree;

          }

          }

          總結(jié)

          以上是生活随笔為你收集整理的敏感词过滤的php代码,PHP敏感词过滤的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

          如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

          主站蜘蛛池模板: 日韩一区在线看 | 综合久久综合久久 | 日韩视频免费观看高清完整版 | 高清一区二区三区 | 国产欧美一区二区三区在线看蜜臀 | 天天夜夜久久 | 亚洲精品粉嫩小泬 | 欧美操女人 | 久久精品国产电影 | 日韩免费在线 | 欧美午夜小视频 | 亚洲成人a√ | 激情视频在线免费观看 | 亚洲自拍成人 | www.在线观看麻豆 | 美国av片 | 天天草天天干 | 在线观看午夜 | 美女的诞生免费观看在线高清 | 91影院在线 | 亚洲免费成人av | 男女啪啪网站免费 | 尤物视频在线播放 | 三级成人| 国产一区不卡视频 | 天天干天天操天天碰 | 亚洲色图15p | 深夜福利久久 | 免费一级片在线观看 | 亚洲 小说区 图片区 | 日韩在线免费播放 | 午夜一本 | 波多野结衣高清在线 | 欧美爱爱网址 | 天堂资源中文 | 日韩精品激情 | 中文字幕免费观看 | 91视频免费在线 | www.com捏胸挤出奶 | 欧美h在线观看 | 人妻丰满熟妇无码区免费 | 午夜写真片福利电影网 | 在线成人亚洲 | 久久国产成人 | 欧美视频免费在线 | 香蕉狠狠爱视频 | 久久国产在线视频 | 日本三级黄色录像 | 人妻一区二区三区 | 久久久久亚洲精品 | 精品久久久久久无码人妻 | 六月婷婷激情 | 免费精品视频一区二区三区 | 在线观看免费黄视频 | 制服中文字幕 | 朝鲜女人性猛交 | 天天干精品 | 亚洲国产成人精品久久 | 播放一级黄色片 | 蜜桃视频一区二区三区在线观看 | 性欧美18一19内谢 | 久久艹国产精品 | 五月婷综合网 | 国精产品一区一区三区免费视频 | 不卡的免费av | 国产传媒一级片 | 色欲国产精品一区二区 | 高清不卡av | 国产激情在线视频 | 亚洲不卡在线视频 | 日韩亚洲欧美一区二区 | 亚洲av无码一区二区二三区 | 波多野结衣高清电影 | 少妇伦子伦精品无吗 | 四虎永久免费影院 | 久久国语 | 日本中文在线视频 | 亚洲熟女乱色一区二区三区 | 欧美爽爽 | 国产中文网 | 国产av一区二区三区最新精品 | 你懂的av在线 | 夜夜操影院| 久久发布国产伦子伦精品 | 国产寡妇亲子伦一区二区三区四区 | 国产欧美自拍 | 亚洲4区 | 中文字幕亚洲综合 | 精品国产乱码久久久久久牛牛 | 久久影音 | 99只有精品| 天天操狠狠操 | 天天操天天摸天天干 | 亚洲v日韩v综合v精品v | 天天色成人网 | 亚洲熟妇一区二区三区 | 性生活视频软件 | 欧美综合自拍亚洲综合图片区 | 天天摸天天摸 |