首页  >  文章  >  后端开发  >  php屏蔽关键字实现方法

php屏蔽关键字实现方法

伊谢尔伦
伊谢尔伦原创
2016-11-21 16:18:371017浏览

第一种方法

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

$str = "/你好|再见|什么玩意|DY/";  // 关键字正则字符串  
$string = "你干什么了? ";    // 文本字符串 
echo preg_replace($str, "*", $string);    //preg_replace() 执行一个正则表达式的匹配和替换

方法二

思路

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

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

代码

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 要么就是关键字的位置 判断的时候注意

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


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn