2011-05-30 86 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