blacklist.txt
という名前のtxtファイルがあります。入力した$fullURL
またはそのサブドメインのいずれかがファイルに含まれているかどうかを確認する必要があります。そうでない場合は、いくつかの機能を実行します。私はすでにこのコードを実行しましたが、それは常に$bannedmsg
をエコーします。何が間違っていますか?偶然のためにTXTファイルを確認してください
$blacklist = file("./blacklist.txt");
$words = "/.*";
foreach ($blacklist as $zeile){
if ($zeile == $blacklist[count($blacklist)-1]){
$words .= trim($zeile);
}else{
$words .= trim($zeile);
$words .= "|";
}
}
$words .= ".*/";
preg_match($words, $fullURL, $results);
if(empty($results)){
// Do the function
}else{
//This is banned, echo $bannedmsg and die()
}
「blacklist.txt」に空白行が含まれていないことは確かですか? '$ words'を印刷してみましたか? (ところで、 '$ * 'の始めと終わりに'。*'を取り除くべきだと思う;それは不必要で誤解を招く) – ruakh
そして、それについては、この大きな'$ words'正規表現です。あなたの 'foreach($ blacklist as $ zeile)' -loopはあなたが必要とする比較を行い、 '$ bannedmsg'をエコーし、マッチを検出した場合には死ぬでしょう。 – ruakh