Als ik een webadres heb, bijv. http://alexxx.domein.nl, dan wil ik graag de naam alexxx uit het adres halen en deze in een $ stoppen.
Nu lukt het dus wel om het volledige adres te nemen met; getenv("HTTP_HOST") maar ik wil dus alleen maar "alexxx" eruitpikken...

Wie kan mij ff een voorzetje geven...
PHP Newbie schreef op 25.11.2006 22:00
kan met een explode:

<?php
$explode = explode('.', $host);

$subdomein = $explode[0];
?>

of met een regex.


Ik krijg met deze code gewoon een WWW retour, terwijl ik wel domein http://alexxx.domein.nl aanroep. Overigens wordt er geen http:// meegestuurd.

De onderstaande code stuurt geen gegevens in de string terug.


<?php
preg_match_all('/([a-zA-Z0-9]*).([a-zA-Z0-9]*).([a-zA-Z0-9]*)/', $host, $test));
?>
als je gewoon zoiets doet:
<?php
$a = explode("http://", $url);
$b = explode("www", $a['0']);
$c = explode(".", $b['0']);
echo $c['0'];
?>
je hebt $host aangepast, en je vraagt $test goed op?

<?php
function get_sub($host)
{
    //$host = 'http://alexxx.domein.nl';
    $henk = explode(".",$host);
    $sjap = explode("//",$henk[0]);
    if ($sjap[1] == 'www')
    {
        $sub = $henk[1];
    }
    else
    {
        $sub = $sjap[1];
    }
    return $sub;
}

?>echo get_sub('http://www.sub.domein.nl'); =><?php
echo get_sub('http://www.sub.domein.nl');
?><br />echo get_sub('http://sub.domein.nl'); =><?php
echo get_sub('http://sub.domein.nl');
?>
Cool, dan werkt het dus :-D
Zo issie beter:

<?php
function get_sub($host)
{
/*
geaccepteerde mogelijkheden:
http://sub.domein.nl
http://www.sub.domein.nl
sub.domein.nl
www.sub.domein.nl
*/
$henk = explode(".",$host);
if (eregi('^http://www$',$henk[0]) OR eregi('^www$',$henk[0]))
{
$sub = $henk[1];
}
else
{
$sjaak = explode('.',$henk[0]);
if (eregi('http://',$sjaak[0]))
{
$piet = explode('//',$sjaak[0]);
$sub = $piet[1];
}
else
{
$piet = explode('.',$sjaak[0]);
$sub = $piet[0];
}
}

return $sub;
}
?>

Reageren