2011-05-30 3 views
0

J'ai essayé googling pour la dernière heure droite maintenant et essayé de nombreuses façons de rechercher un tableau, dans un tableau.PHP - Rechercher tableau dans tableau

Mon objectif est, pour trouver un mot-clé dans l'URL, et les mots-clés sont dans un fichier txt.

Ceci est ce que j'ai jusqu'à présent - mais ne fonctionne pas.

$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"; 
    } 
} 

Cela fonctionne SANS le fichier texte, ou tableau - mais ce n'est pas ce que je veux.

J'apprécierais si quelqu'un peut m'aider.

+0

Avez-vous pu le faire fonctionner Anonymous2011? – Vap0r

+0

que voulez-vous dire quand vous dites que cela ne fonctionne pas. Qu'attendez-vous et que donne-t-il? – lovesh

+0

J'ai essayé d'utiliser in_array() comme la méthode vap0r ci-dessous, mais cela n'a pas fonctionné pour une raison quelconque, mais je suis sûr que c'est ce que je faisais auparavant ... Ce que je voulais dire par là ne fonctionnait pas, était le résultat attendu php à echo "oui" – RobAtStackOverflow

Répondre

0

C'est ainsi que je le ferais:

$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

Merci Vap0r, ça a fonctionné parfaitement - je suis plus que sûr d'avoir essayé cette méthode avant (in_array()) lol. – RobAtStackOverflow