Keyword in Domain Script funktioniert nicht

werwiewas29

Mitglied
Hallo,
ich arbeite schon Tagelang an den einen Programm..
als 1. will ich mit preg_metch die URL zerlegen,, und dann in der DOmain nach "dem" Keyword suchen.
obwohl es enthalten is. gibt es mir ein False ******!************
PHP:
?php
$c = "http://www.news.at";
$kword = "news";
//Nr. 29/domain_from_url
// get host name from URL
preg_match('@^(?:http://|https://)?([^/]+)@i',
$c, $matches);
$host = $matches[1]; // cut http/s
//print $matches[1];


// get last two segments of host name
preg_match('/[^.]+\.[^.]+$/', $host, $matches);
print_r ($matches);
echo ": {$matches[0]}<br />";

if (@preg_match($kword,$matches[0])) {
echo 'true';
}
else {
echo 'false';
}
 
Zuletzt bearbeitet von einem Moderator:
Lass dir vorher mal mit var_dump($matches[0]) die Suchgrundlage ausgeben um zu sehen was da drin ist.

mMn geht der erste schon mal nicht, da deine urle weder mit einem u,r oder l beginnt sondern mit einem h

Warum zerlegst du die url nicht mit parse_url()?
 
ok, danke. werds mal mit var_dump checkn..
meinst du das 1. preg match****?+
parse_url sagte mir bis dato nichts.. sofort ausprobiern :)))))


achso .. ja das mit parse_url hab ich mir eh auch schon paar mal angeschaut. aber bin ned dahinter kommen welcher Component wir die Domain gibt.

so schauds jetz aus:

PHP:
$url = "http://www.news.at";
$kword = "at";



	$teile = explode(".", $url);
	print $teile; 
	print_r ($teile);
	print "<br>";
	print $teile[2];
	print "<br>";
	if ($teile[2] == $kword) {
	
	print "True";}
	
	else { print "False";}
?>
 
Bitte in Zukunft selber die PHP-Tags setzen.

Das ganze ist etwas wacklig. einfach alles nach dem 2ten Punkt als Endung betrachten.
Bei $url="http://www.news.at/index.html" währe $teil[2] das folgende: 'at/index'

PHP:
$url = "http://www.news.at/index.html";
$kword = "at";

// URL zuerlegen
$parts = parse_url($url);

//Variante 1 um at zu finden
$suffix = trim(strrchr($parts['host'], '.'), '.');

//Variante 2
$items = explode('.', $parts['host']);
$suffix =  end($items);

//True oder False ausgen
echo ($suffix == $kword) ? 'TRUE' : 'FALSE';
 
oh danke,, das funktioniert !! muss es jetz schritt für schritt durchgehen, damit ich ganz genau weiß was da passiert.. p.s diese end Funktion is mir neu :) DANKE nochmals :):):):)
 
Aber in meinem sind 2 Versionen um $suffix zu bestimmen. Eine Version davon kannst du kippen. Welche ist dir überlassen
 
ja gut.. werd mal schaun :O

jetz hab ich vorhin heraus gefunden.. das : also meine Aufgabe is ja, das Keyword in der Domain suchen, ich dachte domain is: at de com org uk,, wie mach ich das wenn ich / aber auch in / news.at suchen möcht.. ich hab da zwar ein Programm , das mir die Domain / news.at / auswirft , aber wenn ich darin nach dem Kword suchn möchte. tuts´nix mehr
 
Da kann man auf den Erkenntnisen von vorher aufbauen. Finde $kword in $parts['host']

PHP:
$url = "http://www.news.at/index.html";
$kword = "at";

// URL zuerlegen
$parts = parse_url($url);

if(strpos($parts['host'], $kword)){
    //TODO: $kword wurde gefunden
}else{
    //TODO: $kword wurde nicht gefunden
}
 
Zurück