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

yipeiwu_com5年前PHP代码库

本文实例讲述了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 INT类型在内存中占字节详解

PHP INT类型在内存中占字节详解

本教程将介绍输出INT类型在内存中占多少个字节 新建一个333.php,如图所示: 添加php的界定符(<?php?>),如图所示: 声明PHP与浏览器交...

PHP中echo,print_r与var_dump区别分析

本文较为详细的分析了PHP中echo,print_r与var_dump区别。分享给大家供大家参考。具体分析如下: 三者都是具有输出功能的php语句,但print_r(expression...

详解PHP序列化和反序列化原理

0.前言 对象的序列化和反序列化作用就不再赘述,php中序列化的结果是一个php自定义的字符串格式,有点类似json. 我们在任何语言中设计对象的序列化和反序列化都需要解决几个问题 把某...

PHP递归实现文件夹的复制、删除、查看大小操作示例

本文实例讲述了PHP递归实现文件夹的复制、删除、查看大小操作。分享给大家供大家参考,具体如下: PHP虽然提供了 filesize、copy、unlink 等文件操作的函数,但是没有提供...

php实现购物车功能(上)

php实现购物车功能(上)

本文分两篇为大家介绍php实现购物车功能,具有一定的参考价值,相信大家一定喜欢。 1、需求分析  我们需要找到一种将数据库连接到用户的浏览器的方法。用户能够按目录浏览商品。&n...