PHP屏蔽过滤指定关键字的方法
2015-01-24信息快讯网
这篇文章主要介绍了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<$k;$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 '恭喜!通过关键字检测';
// 往下可以进行写库操作完成发布动作。
}例子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使用正则表达式获取图片url的方法
php使用CURL伪造IP和来源实例详解
php+mysql实现无限分类实例详解
php截取html字符串及自动补全html标签的方法
php在linux下检测mysql同步状态的方法
php自动获取关键字的方法
php判断文件上传类型及过滤不安全数据的方法
php表单敏感字符过滤类
PHP过滤黑名单关键字的方法
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
php中$_GET与$_POST过滤sql注入的方法
php防止sql注入之过滤分页参数实例
php过滤表单提交的html等危险代码
php中count获取多维数组长度的方法
ThinkPHP实现带验证码的文件上传功能实例
ThinkPHP模板之变量输出、自定义函数与判断语句用法
ThinkPHP查询语句与关联查询用法实例
ThinkPHP分组下自定义标签库实例
php实现过滤表单提交中html标签的方法
PHP 抽象方法与抽象类abstract关键字介绍及应用
php常用的安全过滤函数集锦
php过滤html标记属性类用法实例
php过滤HTML标签、属性等正则表达式汇总
PHP正则表达式替换站点关键字链接后空白的解决方法
PHP实现对站点内容外部链接的过滤方法
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
PHP中使用strpos函数实现屏蔽敏感关键字功能
PHP中的use关键字概述