Hallo, liebes Forum!
Muss eine Funktion schreiben, welches überprüft, ob sich Keywords in den Linktexten befinden. Spiele schon seit geraumer Zeit an diesem Code herum, mit dem Fazit, dass ich immer verwirrter werde. Als Endergebnis spuckt das Programm immer aus, dass keine Keywords drinnen sind, obwohl bei ein paar Links sehr wohl welche angeführt sind. Sobald ein Treffer erzielt wird, sollte das Programm True ausgeben.
Vielleicht hat wer von Euch eine Lösung?
Muss eine Funktion schreiben, welches überprüft, ob sich Keywords in den Linktexten befinden. Spiele schon seit geraumer Zeit an diesem Code herum, mit dem Fazit, dass ich immer verwirrter werde. Als Endergebnis spuckt das Programm immer aus, dass keine Keywords drinnen sind, obwohl bei ein paar Links sehr wohl welche angeführt sind. Sobald ein Treffer erzielt wird, sollte das Programm True ausgeben.
Vielleicht hat wer von Euch eine Lösung?
PHP:
$url="http://www.booking.com/hotel/at/hotelalmhof.en.html";
$content = @file_get_contents($url);
$keyword="Hotel";
echo research18($url, $content, $keyword);
function research18($url,$content,$keyword) {
preg_match_all('/<a\s[^>]*href=(\"****)(http[^\" >]*?)\\1[^>]*>(.*)<\/a>/siU', $content, $treffer);
echo "<pre>";
#print_r( $treffer);
#print_r($treffer[3]); //soll Linktexte wiedergeben
#print_r($treffer[2]); //soll alle verlinkten URLs anzeigen
$parse = parse_url($url);
$domain=$parse['host']; //gibt Domain aus.
#echo $domain;
$nr=0;
foreach ($treffer[2] as $string) {
if (stripos($string,$domain)===false) {
echo $string . "|". $treffer[3][$nr]."<br />";
}
$nr=$nr+1;
$enthalten=false; // variable, merkt sich, ob Wert enthalten ist.
if (stripos($treffer[3][$nr], $keyword)) {
echo "<br />";
echo "Keyword ist im Linktext enthalten";
echo "<br />";
$enthalten=true;
return 1;
}
else {
echo "Keyword NICHT im Linktext vorhanden";
return 0;
}
}
}
?>