In diesem Artikel wird hauptsächlich die Methode zum Abschirmen und Filtern bestimmter Schlüsselwörter in PHP vorgestellt, einschließlich Techniken wie String--Filterung und Array-Traversal . Es ist von großem praktischem Wert und muss von Freunden genutzt werden siehe
Dieser Artikel beschreibt die Methode zum Blockieren und Filtern bestimmter Schlüsselwörter in PHP. Teilen Sie es als Referenz mit allen. Die konkrete Analyse lautet wie folgt:
Implementierungsideen:
1 Schreiben Sie die Schlüsselwörter gezielt in eine Textdatei, eines pro Zeile, keine Begrenzung der Anzahl, schreiben Sie so viele wie du möchtest.
2. PHP liest den Schlüsselworttext und speichert ihn in einem Array.
3 Durchlaufen Sie das Schlüsselwortarray und verwenden Sie nacheinander die Funktion strpos, um zu sehen, ob Schlüsselwörter im Inhalt vorhanden sind , wenn nicht, geben Sie false zurück
PHP-Code lautet wie folgt:
/* PHP中用strpos函数过滤关键字 */ // 关键字过滤函数 function keyWordCheck($content){ // 去除空白 $content = trim($content); // 读取关键字文本 $content = @file_get_contents('keyWords.txt'); // 转换成数组 $arr = explode("n", $content); // 遍历检测 for($i=0,$k=count($arr);$i<$k;$i++){ // 如果此数组元素为空则跳过此次循环 if($arr[$i]==''){ continue; } // 如果检测到关键字,则返回匹配的关键字,并终止运行 if(@strpos($str,trim($arr[$i]))!==false){ //$i=$k; return $arr[$i]; } } // 如果没有检测到关键字则返回false return false; } $content = '这里是要发布的文本内容。。。'; // 过滤关键字 $keyWord = keyWordCheck($content); // 判断是否存在关键字 if($keyWord){ echo '你发布的内容存在关键字'.$keyWord; }else{ echo '恭喜!通过关键字检测'; // 往下可以进行写库操作完成发布动作。 }
Beispiel 2 (Hinweis: Die auf Chinesisch verwendete Schlüsselwortdatei Die Schlüsselwortfilterung ist UTF-8-codiert.)
Der Code lautet wie folgt:
/** * 被禁止的关键字检测 * * @param string $string 要检测的字符串 * @param string $fileName 屏蔽关键字文件 * @return bool */ function banwordCheck( $string, $fileName ) { if ( !($words = file_get_contents( $fileName )) ){ die('file read error!'); } $string = strtolower ($string); $matched = preg_match('/'.$words.'/i', $string, $result); if ( $matched && isset($result[0]) && strlen($result[0]) > 0 ) { if ( strlen($result[0]) == 2 ){ $matched = preg_match('/'.$words.'/iu', $string, $result); } if ( $matched && isset($result[0]) && strlen($result[0]) > 0 ) { return true; }else{ return false; } }else{ return false; } } $content = '测试关键字'; if ( banwordCheck($content, './banwords.txt') ){ echo "matched! "; }else{ echo "no match! "; }
Das obige ist der detaillierte Inhalt vonSo schützen und filtern Sie bestimmte Schlüsselwörter in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!