首页 » 电脑技术知识 » PHP实现过滤留言信息中的敏感词实例

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

 

很多论坛,评论,贴吧都有过滤敏感词的功能,本例用PHP来实现过滤留言信息中的敏感词,这里应用file()函数读取存储在文本文件中的敏感词汇,并将其存储在$file_word数组中。然后,应用for循环语句自动读取数组元素(敏感词),最后通过正则表达式preg_match()函数检验用户提交的留言信息中是否含有敏感词。

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

1.新建一个php文件,将以下代码复制粘贴进去:

<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 width="749" height="57" background="images/a_03.jpg">&nbsp;&nbsp;</td>
        </tr>
        <tr>
          <td height="36" colspan="3" align="left" background="images/a_05.jpg" bgcolor="#F9F8EF" scope="col">&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" background="images/a_05.jpg" bgcolor="#F9F8EF">&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" background="images/a_05.jpg" bgcolor="#F9F8EF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;内&nbsp;&nbsp;容:
            <textarea name="content" cols="60" rows="8" id="content" style="background:url(./images/mrbccd.gif)"></textarea>
              <span style="COLOR: #ff0000">*</span></td>
        </tr>

        <tr>
          <td height="40" colspan="3" align="center" background="images/a_05.jpg" 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" background="images/a_07.jpg">&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;
			}
		}
	}
}	
?>

原文链接:PHP实现过滤留言信息中的敏感词实例,转载请注明来源!

0