PHP implémente le filtrage des mots sensibles dans les messages
Un code
<!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; } } } } ?>
Deux résultats en cours
Analyse de trois codes
Lorsqu'un utilisateur soumet un message, le programme utilisera la fonction d'expression régulière preg_mctch() pour comparer les informations du message avec les mots sensibles stockés dans le tableau afin de vérifier le message soumis par l'utilisateur. . Contient-il des mots sensibles ? Si le message contient des mots sensibles, un message d'invite apparaîtra, sinon les informations du message seront publiées avec succès.
Le "/i" dans la fonction preg_match() signifie que les lettres ne sont pas sensibles à la casse lors de la comparaison de mots sensibles.
Ce qui précède est le contenu de PHP filtrant les mots sensibles dans les messages. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (m.sbmmt.com) !
Articles connexes :
Une méthode efficace de filtrage des mots sensibles (PHP)
Utilisation de l'extension PHP trie_filter pour filtrer les mots sensibles chinois
Le filtrage des mots sensibles PHP utilise l'extension tierce trie_filter