2011-05-30 101 views
0

我已經試着過去一個小時直接使用Google搜索,並嘗試了很多方法來搜索數組中的數組。PHP - 在數組中搜索數組

我的目標是在URL中查找關鍵字,並且關鍵字在txt文件中。

這是我到目前爲止 - 但不起作用。

$file = "keywords.txt"; 
$open = fopen($file,'r'); 
$data = fread($open,filesize($file)); 
$data = explode(" ",$data); 
$url = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; 
$url = parse_url($url); //parse the URL into an array 

foreach($data as $d) 
{ 
    if(strstr($d,$url)) 
    { 
    echo "yes"; 
    } 
} 

這適用於沒有文本文件或數組 - 但這不是我想要的。

如果有人能幫助我,我會很感激。

+0

是你能得到它的工作Anonymous2011? – Vap0r 2011-05-30 22:30:35

+0

當你說它不工作時,你是什麼意思?你期待什麼?它給了什麼? – lovesh 2011-05-30 23:03:17

+0

我嘗試使用in_array()像下面的vap0r的方法,但由於某種原因沒有工作,雖然我確信這就是我以前做的... 我的意思是它不工作,是預期的結果是PHP的回聲「是」 – RobAtStackOverflow 2011-05-30 23:06:41

回答

0

這是我做的方式:

$file = "keywords.txt"; 
$open = fopen($file,'r'); 
$data = fread($open,filesize($file)); 
$data = explode(" ",$data); 
$url = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; 
$url = parse_url($url); //parse the URL into an array 
foreach($data as $d){ 
    if(in_array($d,$url)){ 
    echo "yes"; 
    } 
} 
+0

謝謝Vap0r,它工作完美 - 我更確信我嘗試之前的方法(in_array())哈哈。 – RobAtStackOverflow 2011-05-30 23:00:45