• 技术文章 >后端开发 >php教程

    PHP实现过滤留言信息中的敏感词

    巴扎黑巴扎黑2017-03-22 14:29:01原创2103
    PHP实现过滤留言信息中的敏感词

    一 代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>检测留言信息的敏感词</title>
    </head>
    <body>
    <table width="761" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#FEFEFE" bgcolor="#FFFFFF">
      <form action=""  method="post" name="form1" id="form1">
        <tr>
          <td width="761" align="center" bgcolor="#F9F8EF"><table width="749" border="0" align="center" cellpadding="0"  cellspacing="0"  style="BORDER-COLLAPSE: collapse">
            <tr>
              <td height="36" colspan="3" align="left" " bgcolor="#F9F8EF" >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;姓&nbsp;&nbsp;名:
                <input  name="user_name" id="user_name" value=" 匿名" maxlength="64" type="text" />
                  <span 
                style="COLOR: #ff0000">*</span></td>
            </tr>
            <tr>
              <td height="36" colspan="3" align="left"  bgcolor="#F9F8EF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;标&nbsp;&nbsp;题:
                <input maxlength="64" size="30" name="title"  type="text"/>
                  <span style="COLOR: #ff0000">*</span></td>
            </tr>
            <tr>
              <td height="126" colspan="3" align="left"  bgcolor="#F9F8EF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;内&nbsp;&nbsp;容:
                <textarea name="content" cols="60" rows="8" id="content" ></textarea>
                  <span style="COLOR: #ff0000">*</span></td>
            </tr>
            <tr>
              <td height="40" colspan="3" align="center"  bgcolor="#F9F8EF"><input name="submit" type="submit" class="btn1" id="submit" value="签写留言"/>
    &nbsp;&nbsp;
    <input name="reset" type="reset" class="btn1" value="清除留言" /></td>
            </tr>
          </table></td>
        </tr>
        <tr>
          <td width="761" align="center" bgcolor="#F9F8EF"><table width="749" border="0" align="center" cellpadding="0" cellspacing="0">
                <tr>
                  <td width="703" height="31" align="center" >&nbsp;</td>
                </tr>
            </table></td>
        </tr>
      </form>
    </table>
    </body>
    </html>
    <?php
    if($_POST){
    if (is_file("./filterwords.txt")){//判断给定文件名是否为一个正常的文件
       $filter_word = file("./filterwords.txt");//把整个文件读入一个数组中
    $str=$_POST['content'];
    for($i=0;$i<count($filter_word);$i++){//应用For循环语句对敏感词进行判断
      if(preg_match("/".trim($filter_word[$i])."/i",$str)){//应用正则表达式,判断传递的留言信息中是否含有敏感词
     echo "<script> alert('留言信息中包含敏感词!');history.back(-1);</script>";
     exit;
    }
    }
    }
    }
    ?>

    二 运行结果

    69fe2f6f-2395-3604-a5fa-5e24722a3411.png

    三 代码分析

    当用户提交留言信息时,程序会通过正则表达式preg_mctch()函数来实现将留言信息与存储在数组中的敏感词进行对比,检验用户提交的留言是否含有敏感词。如果留言中含有敏感词,那么将弹出提示信息,否则留言信息发布成功。

    preg_match()函数中的“/i”是指在进行敏感词汇比较时不区分字母大小写。

    以上就是PHP实现过滤留言信息中的敏感词的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!

    相关文章:

    一个高效的敏感词过滤方法(PHP)

    利用PHP扩展trie_filter做中文敏感词过滤

    php敏感词过滤使用第三方扩展trie_filter

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:PHP中bom头引发的超级血案-head中的静态文件生成到body里面了 下一篇:PHP中continue语句的应用
    线上培训班

    相关文章推荐

    • 你知道这个PHP命令行选项解析库(pflag)吗?• 带你看懂PHP中的class定义类与成员属性方法• PHP中如何才能将时间日期格式化?怎么计算时间差?• 最详细的教你PHP时间戳与日期时间的转换• 一定搞得懂PHP中如何添加图片水印

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网