第一种方法
思路 用正则去匹配关键字,把关键字用别的字符替换
$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 要么就是关键字的位置 判断的时候注意
成功后大家可以想想怎么把匹配到的关键字全部返回组成一个字符串或者数组