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

来源:互联网 发布:刘道成mysql视频教程 编辑:程序博客网 时间:2024/05/24 04:12

一 代码

<!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><?phpif($_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;}}}}?>

 

二 运行结果

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

 

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