php屏蔽关键字实现方法

伊谢尔伦
Libérer: 2016-11-21 16:18:37
original
1023 Les gens l'ont consulté

第一种方法

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

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

方法二

思路

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"; 
  }
Copier après la connexion

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

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

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


Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal