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['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; } } } } ?>
2 回目の実行結果
3 つのコード分析
ユーザーがメッセージを送信すると、プログラムは正規表現 preg_mcch() 関数を使用します。配列に格納された機密用語を含むメッセージ情報を取得して、ユーザーが送信したメッセージに機密用語が含まれているかどうかを確認します。メッセージに機密用語が含まれている場合は、プロンプト メッセージがポップアップ表示されます。それ以外の場合、メッセージ情報は正常に公開されます。
preg_match() 関数の「/i」は、機密性の高い単語を比較するときに文字の大文字と小文字が区別されないことを意味します。
上記は、メッセージ メッセージ内の機密単語のフィルタリングに関する PHP の実装の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。
関連記事: