PHP屏蔽过滤指定关键字的方法,php屏蔽过滤关键字

本文实例讲述了PHP屏蔽过滤指定关键字的方法。分享给大家供大家参考。具体分析如下:

实现思路:

一、把关键字专门写在一个文本文件里,每行一个,数量不限,有多少写多少。

二、PHP读取关键字文本,存入一个数组

三、遍历关键字数组,挨个用strpos函数去看看内容有没有关键字,如果有,返回true,没有则返回false

PHP代码如下:

复制代码 代码如下:

/* PHP中用strpos函数过滤关键字 */

// 关键字过滤函数

function keyWordCheck($content){

// 去除空白

$content = trim($content);

// 读取关键字文本

$content = @file_get_contents(‘keyWords.txt’);

// 转换成数组

$arr = explode(“n”, $content);

// 遍历检测

for($i=0,$k=count($arr);$i

// 如果此数组元素为空则跳过此次循环

if($arr[$i]==”){

continue;

}

// 如果检测到关键字,则返回匹配的关键字,并终止运行

if(@strpos($str,trim($arr[$i]))!==false){

//$i=$k;

return $arr[$i];

}

}

// 如果没有检测到关键字则返回false

return false;

}

$content = ‘这里是要发布的文本内容。。。’;

// 过滤关键字

$keyWord = keyWordCheck($content);

// 判断是否存在关键字

if($keyWord){

echo ‘你发布的内容存在关键字’.$keyWord;

}else{

echo ‘恭喜!通过关键字检测’;

// 往下可以进行写库操作完成发布动作。

}$k;$i++){

例子2 (注:中文关键字过滤时使用的关键字文件为utf-8编码)

复制代码 代码如下:

/**

* 被禁止的关键字检测

*

* @param string $string 要检测的字符串

* @param string $fileName 屏蔽关键字文件

* @return bool

*/

function banwordCheck( $string, $fileName )

{

if ( !($words = file_get_contents( $fileName )) ){

die(‘file read error!’);

}

$string = strtolower($string);

$matched = preg_match(‘/’.$words.’/i’, $string, $result);

if ( $matched && isset($result[0]) && strlen($result[0]) > 0 )

{

if ( strlen($result[0]) == 2 ){

$matched = preg_match(‘/’.$words.’/iu’, $string, $result);

}

if ( $matched && isset($result[0]) && strlen($result[0]) > 0 ) {

return true;

}else{

return false;

}

}else{

return false;

}

}

$content = ‘测试关键字’;

if ( banwordCheck($content, ‘./banwords.txt’) ){

echo “matched! “;

}else{

echo “no match! “;

}

希望本文所述对大家的PHP程序设计有所帮助。

我想通过php代码屏蔽一些敏感词,写了断代码,老是错误

判断某段文字里面是否包含某字符串或某些字符串,可以通过preg_match来判断,对于留言薄或者论坛来说,可以判断是否包含某些敏感关键字,来决定是否过滤,是否允许发表

各敏感词之间用符号 “|”分割,因为在正则里面 “|”相当于”或”的意思

$badkey = “敏感词|敏感词B|敏感词C”;

$string = “我是不含有敏感词的,我要发表”;

if(preg_match(“/$badkey/i”,$string)){

echo “对不起,含有含有敏感字符,不允许发表”;

}else{

//do something…

}

?>

而preg_replace则可以用来进行 关键词过滤(脏话过滤)

php可以用preg_replace来过滤脏话

$badstring=”tmd|妈的|TNND|她娘的”;

$string=”你tmd说什么,她娘的,不是人”;

echo preg_replace(“/$badstring/i”,”,$string);

?>

$allergicWord = array(‘脏话’,’骂人话’);

$str = ‘这句话里包含了脏话和骂人话’;

for ($i=0;$i

$content = substr_count($str, $allergicWord[$i]);

if($content>0){

$info = $content;

break;

}

}

if($info>0){

//有违法字符

return TRUE;

}else{

//没有违法字符

return FALSE;

}

?>

php怎用实现关键词屏蔽?用 js 或者 ajax 也可以

版本:

html>

head>

/head>

form action=”” method=”post” name=”form1″ >

input name=”word” type=”text” />

input name=”” type=”submit” οnclick=”return chkValue();” value=”确认”/>

/form>

script type=”text/javascript”>

function chkValue() {

var val = document.form1.word.value,

array = [“acd”,”svd”,”fdg”,”fdk”];

for( var i = array.length; i–;) {

if( val.indexOf( array[i] ) !== -1 ) {

alert(‘有敏感字符:’ + array[i]);

return false;

}

}

return true;

}

/script>

/html>

PHP版本

?php

$content = “afjvahsv sjv sdjavcvacvdjgfsacdaldkfja sfcjasldfj “;

$keyword = array( “acd”,”svd”,”fdg”,”fdk” );

for( $i = count($keyword); $i–; ) {

if( strpos( $content, $keyword[$i] ) !== false ) {

echo “出现敏感字符:{$keyword[$i]}”;exit();

}

}

?>

百世岁月当代好 千古江山今朝新 万象更新

www.bkjia.comtrueTechArticlePHP屏蔽过滤指定关键字的方法,php屏蔽过滤关键字 本文实例讲述了PHP屏蔽过滤指定关键字的方法。分享给大家供大家参考。具体分析如下:…

php怎么过滤关键字,PHP屏蔽过滤指定关键字的方法,php屏蔽过滤关键字_PHP教程...相关推荐

  1. mysql binlog 过滤表_mysql日志恢复指定表【从binlog日志过滤恢复指定数据表】

    很多时候,MYSQL数据库由于一些误操作,需要恢复指定表,或某个表指定时间点的数据,这个时候需要根据MYSQL的binlog日志做时间点的恢复,下面将介绍这个方案的具体步骤: 一.登录数据库刷新bin ...

  2. php生成固定大小缩略图变形,php按指定大小等比缩放生成上传图片缩略图_PHP教程...

    php教程按指定大小等比缩放生成上传图片缩略图 /** * * *等比缩放 * @param unknown_type $srcImage 源图片路径 * @param unknown_type $t ...

  3. fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤)转自:http://blog.csdn.net/notejs/article/

    fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤) Fiddler 有一个filters可以很好的帮助我们只显示我们关系的请求或 ...

  4. python不属于字符串的是_【python cookbook】python过滤字符串中不属于指定集合的字符...

    1 #!/usr/bin/python 2 #-*- coding: utf-8 -*- 3 4 #过滤字符串中不属于指定集合的字符 5 6 importstring7 8 #生成所有字符的可复用的字 ...

  5. 不属于python标准库的是_《Python Cookbook(第2版)中文版》——1.10 过滤字符串中不属于指定集合的字符-阿里云开发者社区...

    本节书摘来自异步社区<Python Cookbook(第2版)中文版>一书中的第1章,第1.10节,作者[美]Alex Martelli , Anna Martelli Ravenscro ...

  6. 限制访问网站、过滤特定网址、禁止访问指定网站的方法

    限制访问网站.过滤特定网址.禁止访问指定网站的方法 此博文包含图片 (2017-12-19 16:36:25)转载▼ 许多公司出于管理员工上网行为的需要,经常限制电脑访问一些网站例如游戏网站.购物网站 ...

  7. 如何过滤word文档中指定颜色的文本内容

    题主是一个略懂编程的编程爱好者,想通过自己的双手解决工作中的实际问题,处理一堆如下图的word文档,需要将红色部分的文字删掉,如果只是一两个文件就罢了,但是每天都要处理大量的文档,人工来搞实在头大. ...

  8. python过滤字符串中不属于指定集合的字符的代码

    将做工程过程比较重要的一些内容备份一下,如下资料是关于python过滤字符串中不属于指定集合的字符的内容. import string 生成所有字符的可复用的字符串,它还可以作为 一个翻译表,指明&q ...

  9. Revit插件 | 在过滤这个点上,可以说是无敌的『 超级过滤 』

    大家好,这里是建模助手. 大家都知道,Revit是一个原生功能都挺好,就差那么亿点点一点点就完美的软件. Revit不够好的地方主要都是集中在操作上不够便捷,又或者是不够全面直观. 因此我们的建模助手 ...

  10. 关于 android 中 edittext 特殊字符过滤和字符长度限制的最优方法

    关于 android 中 edittext 特殊字符过滤和字符长度限制的最优方法 1985 T.于星期四, 07/03/2013 - 20:36提交 在android开发中,经常会碰到edittext ...

最新文章

  1. 戏说 .NET GDI+系列学习教程(三、Graphics类的应用_验证码)
  2. android 悬停按钮,Android悬浮按钮的使用方法
  3. 【原创】parseInt大改造
  4. element引入的组件大小高度不对_试水 elementplus ui 组件库
  5. 百度云盘上传文件和下载文件慢的解决办法
  6. Maven-Could not resolve artifact org.apache.maven.archetypes:maven-archetype-quickstart:jar:1.1
  7. 【angularjs】使用angular搭建项目,pc端实现网页中的内容不可复制
  8. 计算机电力英语翻译,电力专业英语阅读与翻译..doc
  9. 将一个list转化成一颗树的输出方法
  10. PuTTYgen使用教程
  11. 畅捷通李鲲:云让自然语言处理在企业更快落地
  12. 操作系统实验七(银行家算法)
  13. 零的突破!6所高校、2所“双非”顶刊发文
  14. matlab 求矩阵的逆
  15. linux xterm字体,修改XTerm相关属性(让字体更好看)
  16. 正则表达式 取最后一个 . 然后进行匹配
  17. 计算机无法识别ipad2,iTunes无法识别iPad mini怎么办【解决方法】
  18. 促销 java 满 赠_促销活动除了打折、返现、满赠,还有什么方式?
  19. KL Divergence KL散度
  20. 枚举类与注解(复习)

热门文章

  1. mysql 均值减法_mysql常用函数
  2. RISCV 的 cache
  3. 注水问题(最多接水)
  4. Retry attempted 10 times without completing, bailing out解决
  5. 太离谱!论文“撞衫”,11篇不同高校论文中竟出现同一块桌布....
  6. Fomo3D 千万大奖获得者“特殊攻击技巧”完全揭露
  7. Libra更名为Diem;Facebook和谷歌被接连起诉|前沿科技周报
  8. 1169: C语言实验题――保留整数
  9. Flash芯片的通信协议,分类和特点
  10. undefined、undeclared、null的区别