现在网络信息监管很严格,特别是屏蔽关键字。特别是现在web2.0时代,网站的内容几乎都是来自网民发布,站长管理即可。如果你希望别人在你站点禁止发布某个关键字,那么就需要预先做处理。用php做关键字屏蔽的功能样式有多种多样,本文介绍了php屏蔽关键字实现方法,一共有两种实现方式,具体如下:
第一种方法
思路 用正则去匹配关键字,把关键字用别的字符替换
$str = "/你大爷|你麻痹|什么玩意|SB|你他妈/"; // 关键字正则字符串 $string = "你他妈干什么玩意了 SB"; // 文本字符串 echo preg_replace($str, "*", $string); //preg_replace() 执行一个正则表达式的匹配和替换
OK 方法一结束 挺简单把 大家在看的时候可以根据思路自己先去想
方法二
立即学习“PHP免费学习笔记(深入)”;
思路
1.把关键字放到一个txt文档中 要用一定的符合分隔开 ,用file_get_contents() 函数将关键字文档读入
远航CMS(yhcms)是一套基于PHP+MYSQL为核心开发的专业营销型企业建站系统。是国内首家免费+开源自带分站系统的php内容管理系统。长期以来不断的完善、创新,远航CMS会为您带来全新的体验!产品十大优势:模板分离:模板程序分离,深度二次开发三网合一:电脑/手机/微信 多终端访问自定义广告:图片/文字/动画定时发布:SEO维护,无需人工值守多词生成:栏目关键词多方案生成SEO设置:自定义U
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 要么就是关键字的位置 判断的时候注意
成功后大家可以想想怎么把匹配到的关键字全部返回组成一个字符串或者数组










