PDA

Vollstndige Version anzeigen : subdomain auslesen


tarzan
15-09-2003, 18:57
hallo jungs und mdels!

berschttet mein haupt mit asche, weil meine frage sicher doch noch irgendwo beantwortet ist...

ich mchte alles, was vor .domainname.tld geschrieben steht, also den third-level-bereich, auslesen. wie ich die komplette domain auslese, hab ich gefunden - aber wie krieg ich jetzt .domainname.tld "weg", soda der third-level-bereich "berbleibt"?

*freundlichgr*

c4
15-09-2003, 19:01
<?php
$domain='www.dbCF.de';
$subdomain=substr($domain, 0, strrpos($domain, '.'));
$subdomain=substr($subdomain, 0, strrpos($subdomain, '.'));
echo $subdomain; // Ausgabe: www
?>

tarzan
15-09-2003, 19:29
ja wahnsinn!

jetzt fllt mir das nchste problem ein... :-)

wenn der Wert der variablen $subdomain "vorname.nachname" oder "vorname-nachname" lautet, wie schaffe ich es dann, da die ausgabe des wertes so formatiert erfolgt, da "Vorname Nachname" (und das auch noch mit groen Grobuchstaben, hehe ;-)) dabei herauskommt...?

vielen dank auch wieder

c4
15-09-2003, 21:14
1. str_replace() (http://php.net/manual/en/function.str-replace.php) von . und -
2. ucwords() (http://php.net/manual/en/function.ucwords.php)

tarzan
15-09-2003, 23:18
zuerst einmal vielen dank fr eure tolle hilfe.

Da alles bisher viel zu leicht war ;-),
hab ich beschlossen, noch eine erweiterung einzubauen.
nmlich fr den fall, da ein user
"www.vorname-nachname.domainname.tld"
eingibt, soll ein "www." am beginn des strings
nicht ausgegeben werden.
(Sonst hiee mein User im Texct

das dumme dabei ist, das www. wird nicht immer da sein
(anders als ".domainname.tld").

soweit bin ich jedenfalls "schon" gekommen:

<?php
$domain=$HTTP_HOST;
$subdomain=substr($domain, 0, strrpos($domain, '.'));
$subdomain=substr($subdomain, 0, strrpos($subdomain, '.'));
$name=str_replace("."," ",$subdomain);
$name=str_replace("-"," ",$company);
$name=ucwords($company);?>

vielen lieben dank!

Gweilo
16-09-2003, 00:14
<?php
$domain=$_SERVER['HTTP_HOST'];
//$domain = "www.vorname-nachname.domainname.tld";
$subdomain=substr($domain, 0, strrpos($domain, '.'));
$subdomain=substr($subdomain, 0, strrpos($subdomain, '.'));
if (ereg(".",$subdomain))
$subdomain=substr($subdomain, strrpos($subdomain, '.')+1);
$name=ucwords(str_replace("-"," ",$subdomain));
echo $name;
?>

voil
beachte, dass du den host mit $_SERVER abrufen solltest. mehr dazu hier: http://www.selfphp.info/forum/showthread.php?s=&threadid=5533

tarzan
16-09-2003, 09:57
die frage bzgl des letzten vorschlags hatte sich mir gar nicht gestellt, weil das bei meinem gemieteten webspace offenbar auch ohne $_server funktioniert (hat)(also sind register_globals wohl auf on geschalten???) - bin da als laie voll auf eure tipps angewiesen, und werd mich da entsprechend hineinlesen.

tarzan
16-09-2003, 18:30
<?php
$domain=$_SERVER['HTTP_HOST'];

if (substr($domain,0,4) == "www.") {($domain = substr($domain,4));}

$subdomain=substr($domain, 0, strrpos($domain, '.'));
$subdomain=substr($subdomain, 0, strrpos($subdomain, '.'));
$name=str_replace("."," ",$subdomain);
$name=str_replace("-"," ",$name);
$name=ucwords($name);?>


vielen dank an alle, die mich durch ihre beitrge
letztlich zu dieser lsung gefhrt haben!

tarzan
16-09-2003, 18:39
die zeile

$name=str_replace("-"," ",$name);

sollte natrlich dann auch noch heissen

$name=str_replace("-"," ",$subdomain);

:-)

c4
16-09-2003, 18:44
So gefllt mir das. Man schmeit den Leuten einen Brocken vor und sie helfen sich damit selber.

Freut mich! :)

tarzan
16-09-2003, 18:45
jetzt das ganze noch mal komplett
fr die nachwelt :-)

<?php
$domain=$_SERVER['HTTP_HOST'];

if (substr($domain,0,4) == "www.") {($domain = substr($domain,4));}

$subdomain=substr($domain, 0, strrpos($domain, '.'));
$subdomain=substr($subdomain, 0, strrpos($subdomain, '.'));
$name=str_replace("."," ",$subdomain);
$name=str_replace("-"," ",$name);
$name=ucwords($name);?>