当前位置 : 首页> PHP培训 > 用PHP屏蔽关键字可以采用哪些方法实现

用PHP屏蔽关键字可以采用哪些方法实现

时间:2017-06-29 12:01:01   已访问:111次
热门专业

可以用PHP屏蔽关键字,这是一种常用到的技术。用PHP屏蔽关键字有什么方法可以实现?下面列举了有关PHP屏蔽关键字的几类实现方法,具体参见下面。

用PHP屏蔽关键字常用的方法如下所示:

方法一:

思路:用正则去匹配关键字,把关键字用别的字符替换。

$str = "/你大爷|你麻痹|什么玩意|SB|你他妈/";  // 关键字正则字符串 

$string = "你他妈干什么玩意了 SB";    // 文本字符串

echo preg_replace($str, "*", $string);    //preg_replace() 执行一个正则表达式的匹配和替换

OK 方法一结束。挺简单把,大家在看的时候可以根据思路自己先去想。

方法二:

1.把关键字放到一个txt文档中 要用一定的符合分隔开 ,用file_get_contents() 函数将关键字文档读入。

2.用函数explode() 把字符串分割成数组 循环数组 strpos() 查找匹配关键字。

<?php

header('content-type:textml; charset=utf-8;');

function strPosFuck($content)

{  

$fuck = file_get_contents('keyWords.txt');  // 读取关键字文本信息 

$content = trim($content);    $fuckArr = explode("\n",$fuck);  // 把关键字转换为数组 

for ($i=0; $i < count($fuckArr) ; $i++)  

// $fuckArr[$i] = trim($fuckArr[$i]); 

if ($fuckArr[$i] == "") {    

continue;  //如果关键字为空就跳过本次循环  

# code...  

}   

if (strpos($content,trim($fuckArr[$i])) != false)   

  {   

  return $fuckArr[$i];  //如果匹配到关键字就返回关键字    

  # code...    

  }  

  }    return false;  // 如果没有匹配到关键字就返回 false

  }

  $content = "我今天你大爷碰到一个SB"; 

  $key = strPosFuck($content);

  if ($key)

  { 

  echo "存在关键字".$key; 

  # code... 

  }

  else

  {  

  echo "OK";

  }

细节注意:一定要去空

strops() 函数返回值 要么是false 要么就是关键字的位置判断的时候注意。成功后大家可以想想怎么把匹配到的关键字全部返回组成一个字符串或者数组。


推荐内容