Funktionen
Marco
- php
Hallo,
leider mal wieder ne Anfängerfrage. Tschuldigung.
Auf php.net gibts ein schönes Script, wie man aus http://www.test.de/test/test/test.hmtl
--> test.de machen kann.
Das sieht so aus:
// get host name from URL
preg_match("/^(http://)?([^/+)/i",
"http://www.php.net/index.html", $matches);
$host = $matches[2];
// get last two segments of host name
preg_match("/[^./]+.[^./]+$/",$host,$matches);
echo "domain name is: ".$matches[0]."\n";
Nun möchte ich dies gern als Funktion haben, um nicht den ganzen Code überall da, wo ich es brauch erneut aufzurufen. Mit meinen Kenntnissen habe ich es versucht so umzusetzen:
function MakeHost($text){
// get host name from URL
preg_match("/^(http://)?([^/]+)/i", $text, $matches);
$host = $matches[2];
// get last two segments of host name
preg_match("/[^./]+.[^./]+$/",$host,$matches);
$text = $matches[0];
}
und habe das dann so aufgerufen:
(wenn $Webadresse = "http://www.test.de/test.html";)
echo MakeHost($Webadresse);
Es wird keinerlei Fehler angezeigt. Aber natürlich auch nicht "test.de", wie es sein sollte. Wo ist mein Denkfehler?
Danke im Voraus für Eure Hilfe
Marco
Hi,
Auf php.net gibts ein schönes Script, wie man aus http://www.test.de/test/test/test.hmtl
--> test.de machen kann.
komisch, sowas ist sehr viel einfacher und effizienter mittels simpler Serverkonfiguration zu machen. mod_rewrite ist Dein Freund.
Cheatah
Hallo Cheatah,
Auf php.net gibts ein schönes Script, wie man aus http://www.test.de/test/test/test.hmtl
--> test.de machen kann.komisch, sowas ist sehr viel einfacher und effizienter mittels simpler Serverkonfiguration zu machen. mod_rewrite ist Dein Freund.
Ich glaube, es ging eher darum, den Domain-Namen aus einer URL zu extrahieren. Und dafür eignet sich mod_rewrite definitiv nicht.
Schöne Grüße,
Johannes, der sich gerade köstlich über [pref:t=76871&m=443214] und Folge-Postings amüsiert hat.
Hallo,
echo MakeHost($Webadresse);
Das was Du hier machen willst kannst Du entweder in die Funktion packen, also innerhalb der Funktion mit echo() ausgeben.
Oder aber IMHO besser der Funktion per return() einen Rückgabewert verpassen, also return( $text ).
Dann die Funktion direkt ins echo() rein:
echo( MakeHost($Webadresse) );
oder halt in eine Variable geben und diese dann weiterverwenden:
$host = MakeHost($Webadresse);
echo( "<a href="" . $host . "">Der Link</a>" );
Letzeres finde ich persönlich die sauberste Lösung...
Grüsse AndreD