我有一個名爲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'以確保它看起來正確? (順便說一句,我認爲你應該在'$ words'的開始和結尾刪除'。*';這是沒有必要的和誤導性的。) – ruakh 2012-03-17 14:42:59
對於這個問題 - 構建這個大小並沒有什麼意義'$ words'正則表達式。你的'foreach($ blacklist as $ zeile)'-loop應該執行你需要的比較,回顯'$ bannedmsg'並且如果它檢測到匹配就死掉。 – ruakh 2012-03-17 14:47:53