Avatar billede leif Seniormester
03. februar 2008 - 10:04 Der er 21 kommentarer og
1 løsning

Kun tage det efter det sidste .

Hej,

Jeg fandt en Whois Class på nettet, men hvis jeg skriver kurt.domæne.tld så tror den at domæne.tld er hele tld men det er det jo ikke og det kan det jo godt være.

Hvordan kan man sikre at den kontrollerer domænet korrekt ?

Selve den function den bruger til at finde tld er:
Funktionen som bruges er:
function get_tld(){
    // Splitting domainname
    $domain=split("\.",$this->domain);
    if(count($domain)>2){
        $domainname=$domain[0];
        for($i=1;$i<count($domain);$i++){
            if($i==1){
                $tldname=$domain[$i];
            }else{
                $tldname.=".".$domain[$i];
            }
        }
    }else{
        $domainname=$domain[0];
        $tldname=$domain[1];
    }
    return $tldname;
}


Jeg har jo alle de TLD den tjecker for i et Array, kunne man ikke tjecke op i det og se om det er com.tw eller lign ?


Sig lige til hvis det er volapyk.


/Leif
Avatar billede mstorgaard Praktikant
03. februar 2008 - 13:03 #1
Hvad med at tjekke om split indeholder 2 eller 3 arrays, og så hvis det indeholder 2, så er der kun én endelse, og hvis der er 3 er der 2 endelser.
Avatar billede showsource Seniormester
03. februar 2008 - 13:09 #2
$domain = "juhu.localhost.tld";
$name = end(explode(".", $domain));

if($name != $domain) {
return basename($domain , ".". $name) .".". $name;

}else{

return false;

}

Lige nu returnerer du jtldname selvom den ikke er sat.
Avatar billede showsource Seniormester
03. februar 2008 - 13:10 #3
Ups, misforstod lige lidt her :O)
Avatar billede showsource Seniormester
03. februar 2008 - 13:17 #4
domian navn, kommer det fra brugerinput?
Hvordan styrer du at domain er f.eks. domain.tw.com og IKKE www.domian.tw.com
Avatar billede showsource Seniormester
03. februar 2008 - 13:17 #5
Og du har alle tld i et array?
Avatar billede leif Seniormester
03. februar 2008 - 13:55 #6
Det er denne class jeg ville bruge:
http://www.phpclasses.org/browse/file/2329.html
Avatar billede showsource Seniormester
03. februar 2008 - 13:57 #7
Det var sgu lidt bøvlet.
Og er ikke helt med på hvad du skal bruge.

$domain = "localhost.co.uk";

function domain_name($var) {

$tld = array("tw.com", "co.uk", "dk");

    foreach($tld as $tjek) {
    $ok = strpos($var, ".". $tjek);
        if($ok !== false) {
        return substr($var, 0, $ok);
        }
    }

return false;

}

$typen = domain_name($domain);

if($typen != false) {
echo $typen;
}
Avatar billede leif Seniormester
03. februar 2008 - 14:09 #8
Det skal bruges ifb. med et tjeck om domænet er registreret eller ej.

Lige nu hvis jeg skriver test.domæne.dk så vil jeg få af vide at domænet ikke er registreret selv om at domæne.dk er registreret.
Avatar billede showsource Seniormester
03. februar 2008 - 14:13 #9
Så skal du jo tjekke for antal punktum.
Men du vil vel også tjekke for tld ?
Avatar billede showsource Seniormester
03. februar 2008 - 14:29 #10
hmm, ved sgutte:

$domain = "localhost.co.uk";

function get_tld($var) {

$tld = array("tw.com", "co.uk", "dk");

    foreach($tld as $tjek) {
        if(substr($var, -strlen($tjek)) == $tjek) {
        return end(explode(".", substr($var, 0, (strlen($var)-strlen($tjek)-1))));
        }
    }

return false;
}

echo get_tld($domain);
Avatar billede showsource Seniormester
03. februar 2008 - 14:39 #11
Skulle måske så nok være:

    foreach($tld as $tjek) {
        if(substr($var, -strlen($tjek)-1) == ".". $tjek) {
        return end(explode(".", substr($var, 0, (strlen($var)-strlen($tjek)-1))));
        }
    }
Avatar billede leif Seniormester
03. februar 2008 - 15:44 #12
Ja, jeg vil også gerne have tld ud.
Avatar billede leif Seniormester
03. februar 2008 - 15:45 #13
Lige nu får jeg jo localhost ud, men jeg skal jo også vide co.uk fordi ellers ved jeg jo ikke hvilken whois jeg skal spørge.
Avatar billede nielle Nybegynder
03. februar 2008 - 15:49 #14
Jeg tror nok at jeg selv ville lave input-felterne på en anden måde:

www. [skriv domænet her] . [dropdown til tld her]

Så er domæne og TLD adskildt, og tekst stumpen "www." indikere over for folk at de ikke skal skrive "kurt" i domænefeltet og forvente at det virker.
Avatar billede leif Seniormester
03. februar 2008 - 15:51 #15
Vi har forsøgt at løse det med at de skriver www. foran ved lige netop at skrive det som du gør der, men ville helst undgå at skulle lave et felt til tld
Avatar billede nielle Nybegynder
03. februar 2008 - 16:28 #16
... men ville helst undgå at skulle lave et felt til tld>

Hvorfor det? Der er vel ikke nødvendigvis så mange af jeres potentielle brugere som f.eks. ved at man bruger dette "TLD" i England:

co.uk

En dropdown ville vise helt entydigt hvilke muligheder der er i stedet for at folk skal gætte sig frem.
Avatar billede leif Seniormester
03. februar 2008 - 23:01 #17
nielle og showsource smid begge et svar da det er blevet en kombination af begge jeres løsninger.
Avatar billede showsource Seniormester
04. februar 2008 - 06:38 #18
Helt enig med nielle.
Især når arrayet allerede findes.
Og ingen point til mig, ellers tak.
Avatar billede nielle Nybegynder
04. februar 2008 - 07:05 #19
Står også over på denne her - mit bidrag er bestemt mindre end showsource's. Men ellers tak for tilbudet. :^)
Avatar billede leif Seniormester
04. februar 2008 - 08:46 #20
Kom nu, jeg vil af med nogen point !
Avatar billede leif Seniormester
04. februar 2008 - 08:47 #21
Men hva' vi kan jo ikke tvinge folk til at modtage dem hvis I ikke vil !
Avatar billede nielle Nybegynder
04. februar 2008 - 17:56 #22
Så må du jo tage det som en mand og æde dine point igen. Denne her er på huset. ;^)
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