Avatar billede rudi1234 Nybegynder
01. juli 2004 - 09:03 Der er 11 kommentarer og
1 løsning

Kun domænet, ikke alt det andet i url

Jeg er ikke så stærk i ereg_repalce og den slags, så jeg vil høre om der er nogle der ligger inde med en simpel funktion der kun returnerer domænet (og ikke alt hvad der ligger efter).

function reduceUrl($giantUrl) {
  ...
}

hvor eksempelvis følgende gælder:

reduceUrl("http://www.google.dk/search?q=vitser&ie=UTF-8&hl=da&meta=") = "google.dk"
Avatar billede retep Nybegynder
01. juli 2004 - 09:09 #1
Sådan:
<?

$info = parse_url("http://www.google.dk/search?q=vitser&ie=UTF-8&hl=da&meta=");
echo basename($info['host']);

?>
Avatar billede retep Nybegynder
01. juli 2004 - 09:20 #2
eller som funktion, der også fjerner www
------
<?

$url = "http://www.google.dk/search?q=vitser&ie=UTF-8&hl=da&meta=";

function reduceUrl($url){
    $info = parse_url($url);
    $host =  basename($info['host']);
    if (str_replace("WWW.","",strtoupper($host)) != $host){
        $host = substr($host,4,strlen($host));
    }
    return $host;
}
echo reduceUrl($url);
?>
Avatar billede rudi1234 Nybegynder
01. juli 2004 - 09:38 #3
Det var perfekt! Tak for hurtigt svar. :o)
Avatar billede cdygaard Nybegynder
01. juli 2004 - 10:36 #4
Cool
Avatar billede erikjacobsen Ekspert
01. juli 2004 - 11:08 #5
Det er måske så sandsynligt, men det kan dog forekomme, at et domæne ligner dette:

  "http://googlewww.dk/......"

og så vil din funtion ikke virke, retep. ;)
Avatar billede retep Nybegynder
01. juli 2004 - 11:12 #6
Hmmm... det kan der selvfølgeligt være noget om ;)
Avatar billede retep Nybegynder
01. juli 2004 - 11:35 #7
Så! Det kunne jeg ikke have siddende på mig ;)
---------
<?

$url = "http://www.google.dk/search?q=vitser&ie=UTF-8&hl=da&meta=";

function reduceUrl($url){
    $info = parse_url($url);
    $host =  basename($info['host']);

    if (strtoupper(substr($host,0,4)) == "WWW."){
        $host = substr($host,4,strlen($host));
    }
   
    return $host;
}
echo reduceUrl($url);
?>
Avatar billede erikjacobsen Ekspert
01. juli 2004 - 11:42 #8
Det var bedre ;)  Man kan også nøjes med:

function reduceUrl($url){
    $info = parse_url($url);
    return preg_replace('/^www\./i','',basename($info['host']));
}
Avatar billede retep Nybegynder
01. juli 2004 - 11:54 #9
Ja, men regulære udtryk er skabt af fanden! ;)
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 11:58 #10
Kunne man ikke bare bruge noget med onmouseover="window.status='www.google.dk'" return true; onmouseout="window.status=''" return true;

JEg er usikker på om det er helt rgitgt men det kunne vel egentlig også brugeS!
Avatar billede rudi1234 Nybegynder
01. juli 2004 - 12:11 #11
Jeg takker for alle bud; jeg bruger det korteste (erikjacobsen's)

:o)
Avatar billede erikjacobsen Ekspert
01. juli 2004 - 13:22 #12
Man kan selv lege med den lille funktion på: http://test.n0p.com/eksperten/515726/
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester