PHP 百分网手机站

PHP屏蔽关键字的方法

时间:2018-04-22 20:43:42 PHP 我要投稿

PHP屏蔽关键字的方法

  如何在简单的站内搜索中,设置关键字过滤?以下就是小编精心推荐PHP屏蔽关键字实现方法,希望对大家有帮助!

  第一种方法

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

  $str = "/你xxx|你xxx|什么xxx|Sx|xxx/"; // 关键字正则字符串

  $string = "xxx"; // 文本字符串

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

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

  方法二

  思路

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

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

  代码

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

  function strPosf u c k($content)

  {

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

  $content = trim($content); $f u c kArr = explode(" ",$f u c k); // 把关键字转换为数组

  for ($i=0; $i < count($f u c kArr) ; $i++)

  {

  // $f u c kArr[$i] = trim($f u c kArr[$i]);

  if ($f u c kArr[$i] == "") {

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

  # code...

  }

  if (strpos($content,trim($f u c kArr[$i])) != false)

  {

  return $f u c kArr[$i]; //如果匹配到关键字就返回关键字

  # code...

  }

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

  }

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

  $key = strPosf u c k($content);

  if ($key)

  {

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

  # code...

  }

  else

  {

  echo "OK";

  }

  注意点 一定要去空 一定要去空 ,

  strops() 函数返回值 要么是false 要么就是关键字的位置 判断的时候注意

  成功后大家可以想想怎么把匹配到的关键字全部返回组成一个字符串或者数组

【PHP屏蔽关键字的方法】相关文章:

1.PHP错误类型及屏蔽方法

2.PHP常用的关键字

3.PHP COOKIE及时生效的方法

4.把PHP转成EXE文件的方法

5.php调用shell的方法技巧

6.十天学会php的方法

7.理解PHP5中static和const关键字的差别

8.PHP中命名空间的方法