>  기사  >  백엔드 개발  >  PHP는 메시지 메시지에서 민감한 단어 필터링을 구현합니다.

PHP는 메시지 메시지에서 민감한 단어 필터링을 구현합니다.

巴扎黑
巴扎黑원래의
2017-03-22 14:29:013508검색

PHP는 메시지 메시지에서 민감한 단어 필터링을 구현합니다

코드 1개

<!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" >        姓  名:
            <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">        标  题:
            <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">        内  容:
            <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="签写留言"/>
  
<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" > </td>
            </tr>
        </table></td>
    </tr>
  </form>
</table>
</body>
</html>
<?php
if($_POST){
if (is_file("./filterwords.txt")){//判断给定文件名是否为一个正常的文件
   $filter_word = file("./filterwords.txt");//把整个文件读入一个数组中
$str=$_POST[&#39;content&#39;];
for($i=0;$i<count($filter_word);$i++){//应用For循环语句对敏感词进行判断
  if(preg_match("/".trim($filter_word[$i])."/i",$str)){//应用正则表达式,判断传递的留言信息中是否含有敏感词
 echo "<script> alert(&#39;留言信息中包含敏感词!&#39;);history.back(-1);</script>";
 exit;
}
}
}
}
?>

실행 결과 2개

PHP는 메시지 메시지에서 민감한 단어 필터링을 구현합니다.

세 가지 코드 분석

사용자가 메시지를 제출하면 프로그램은 정규식 preg_mctch() 함수를 사용하여 메시지 정보를 배열에 저장된 민감한 단어와 비교하여 사용자가 제출한 메시지를 확인합니다. . 민감한 단어가 포함되어 있나요? 메시지에 민감한 단어가 포함되어 있으면 프롬프트 메시지가 나타나고 그렇지 않으면 메시지 정보가 성공적으로 게시됩니다.

preg_match() 함수의 "/i"는 민감한 단어를 비교할 때 문자가 대소문자를 구분하지 않음을 의미합니다.

위 내용은 메시지 메시지에서 민감한 단어를 필터링하는 PHP 구현입니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트(www.php.cn)를 참고하세요!

관련 기사:

효율적인 민감한 단어 필터링 방법(PHP)

PHP 확장 trie_filter를 사용하여 중국어 민감한 단어 필터링

PHP 민감한 단어 필터링은 타사 확장자 trie_filter를 사용합니다

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.