PHP过滤黑名单关键字的方法


Posted in PHP onDecember 01, 2014

本文实例讲述了PHP过滤黑名单关键字的方法。分享给大家供大家参考。具体实现方法如下:

关键字过滤非常的简单把要过滤的内容存在数组或文档中,然后用户提交时我们进行preg_match或istrpos判断即可解决了,具体方法如下.

实例代码如下:

//过滤黑名单关键字函数 

function check_($data){ 

 $keywords = "你是大神吗|你好|去死"; 

 if(preg_match("/$keywords/i",$data)){ 

  return; 

 }else{ 

  return $data; 

 } 

}

关键字的存放形式为txt,txt文件中以这样形式存放:|赌博机|卖血|出售肾|出售器官|眼角膜,代码如下:
<?php 

function Filter_word( $str, $fileName )    

{    

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

        die('file read error!');    

    }    

    $str = strtolower($str); 

//var_dump($words); 

$word = preg_replace("/[1,2,3] | /i", '', $words); 

//$wor = substr($word,0,-1); 

//$w = preg_replace("|/|i", '/', $word); 

//echo "<pre>"; 

//var_dump($w); 

//$words = "aaa|bbb|ccc|ddd|eee"; 

    $matched = preg_replace('/'.$word.'/i', '***', $string); 

return $matched;

}    

   

$content = "<a href='#'>我要aaafsdfbbb</a>";    

if ($result = Filter_word($content, './words.txt') ){ 

echo $result; 

    echo "替换成功 ";    

}else{    

    echo "替换失败! "; 

?>

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

PHP 相关文章推荐
.htaccess文件保护实例讲解
Feb 06 PHP
php和js如何通过json互相传递数据相关问题探讨
Feb 26 PHP
php根据分类合并数组的方法实例详解
Nov 06 PHP
php stripslashes和addslashes的区别
Feb 03 PHP
php获取随机数组列表的方法
Nov 13 PHP
php对象在内存中的存在形式分析
Feb 03 PHP
php判断数组中是否存在指定键(key)的方法
Mar 17 PHP
PHP魔术方法使用方法汇总
Feb 14 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
PHP基本语法实例总结
Sep 09 PHP
php+resumablejs实现的分块上传 断点续传功能示例
Apr 18 PHP
php 多继承的几种常见实现方法示例
Nov 18 PHP
php中print(),print_r(),echo()的区别详解
Dec 01 #PHP
PHP中__FILE__、dirname与basename用法实例分析
Dec 01 #PHP
php 删除cookie方法详解
Dec 01 #PHP
php生成html文件方法总结
Dec 01 #PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
Dec 01 #PHP
php中随机函数mt_rand()与rand()性能对比分析
Dec 01 #PHP
THINKPHP项目开发中的日志记录实例分析
Dec 01 #PHP
You might like
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
Laravel下生成验证码的类
2017/11/15 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
JavaScript 基础问答三
2008/12/03 Javascript
jQuery 表单验证扩展(四)
2010/10/20 Javascript
父子窗体间传递JSON格式的数据的代码
2010/12/25 Javascript
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
A标签触发onclick事件而不跳转的多种解决方法
2013/06/27 Javascript
jQuery提交多个表单的小例子
2013/06/30 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
Angularjs CURD 详解及实例代码
2016/09/14 Javascript
d3.js中冷门却实用的内置函数总结
2017/02/04 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
2017/06/21 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
2017/12/14 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
深入学习Vue nextTick的用法及原理
2019/10/08 Javascript
Python中实现三目运算的方法
2015/06/21 Python
Django实现的自定义访问日志模块示例
2017/06/23 Python
Django 添加静态文件的两种实现方法(必看篇)
2017/07/14 Python
Python编写Windows Service服务程序
2018/01/04 Python
python for 循环获取index索引的方法
2019/02/01 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
Django Form设置文本框为readonly操作
2020/07/03 Python
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
高三自我鉴定
2013/10/23 职场文书
高三毕业寄语
2014/04/10 职场文书
广场舞大赛策划方案
2014/05/31 职场文书
行政人事主管岗位职责
2015/04/11 职场文书
2016大学生社会实践单位评语
2015/12/01 职场文书