Heim  >  Artikel  >  Backend-Entwicklung  >  So schützen und filtern Sie bestimmte Schlüsselwörter in PHP

So schützen und filtern Sie bestimmte Schlüsselwörter in PHP

怪我咯
怪我咯Original
2017-07-12 14:51:163006Durchsuche

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]==&#39;&#39;){
continue; 
} 
// 如果检测到关键字,则返回匹配的关键字,并终止运行
if(@strpos($str,trim($arr[$i]))!==false){
//$i=$k; 
return $arr[$i];
} 
}
// 如果没有检测到关键字则返回false 
return false;
} 
$content = &#39;这里是要发布的文本内容。。。&#39;; 
// 过滤关键字
$keyWord = keyWordCheck($content);
// 判断是否存在关键字
if($keyWord){
echo &#39;你发布的内容存在关键字&#39;.$keyWord;
}else{
echo &#39;恭喜!通过关键字检测&#39;;
// 往下可以进行写库操作完成发布动作。
}

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(&#39;file read error!&#39;);
 }
 $string = 
strtolower
($string);
 $matched = preg_match(&#39;/&#39;.$words.&#39;/i&#39;, $string, $result);
 if ( $matched && isset($result[0]) && strlen($result[0]) > 0 )
 {
  if ( strlen($result[0]) == 2 ){
   $matched = preg_match(&#39;/&#39;.$words.&#39;/iu&#39;, $string, $result);
  } 
  if ( $matched && isset($result[0]) && strlen($result[0]) > 0 ) {
   return true;
  }else{
   return false;
  }  
 }else{
  return false;
 }
}
$content = &#39;测试关键字&#39;;
if ( banwordCheck($content, &#39;./banwords.txt&#39;) ){
 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn