Problem mit dem Trennen von Domainnamen...

Bash, Shell, PHP, Python, Perl, CGI
Anonymous

Problem mit dem Trennen von Domainnamen...

Post by Anonymous »

Hallo,

ich habe ein Problem mit dem Trennen von Domainnamen. Ich möchte einmal die Domain und einmal die Endung haben.

Wenn ich z.B. domain.de habe, ist das kein Problem, da ich ja nur einen Punkt habe.

Aber was ist, wenn ich domain.com.uk habe. Ich möchte einmal den Domainnamen und dann die Endung co.uk haben.

Beispiel:

domainnamen (domname) -> co.uk (tld)


Ist so etwas möglich?

Vielen Dank!

Mit freundlichen Grüßen;
Astrid
robertw
Posts: 165
Joined: 2002-12-17 16:10
Location: Berlin

Re: Problem mit dem Trennen von Domainnamen...

Post by robertw »

Na sicher, mit einer RegExpr kein Problem.

Wenn Du uns auch noch die Scripting-Sprache sagst, baut Dir vielleicht jemand ein Beispiel darin.

Robert
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: Problem mit dem Trennen von Domainnamen...

Post by dodolin »

Ein Computer braucht eine formale Regel, die ihm sagt, wie er den Domainnamen erkennen kann. Wenn das bei dir z.B. heißt: Trenner immer beim ersten Punkt, dann wäre das OK und machbar. Wenn dann aber auch noch Dinge wie http://www.example.com und http://www.sub.example.com sowie Doppelte "Endungen" vorkommen, wird es schwierig.
wgot
Posts: 1675
Joined: 2003-07-06 02:03

Re: Problem mit dem Trennen von Domainnamen...

Post by wgot »

Hallo Astrid,

kommt drauf an, wenn Du einen reinen Domainnamen hast, dem sicher keine Subdomain (auch kein www.) vorangestellt ist, geht's einfach:

Code: Select all

$domain='....';
$ausgabe=preg_match('/^(.*?)./',$domain,$ergebnis);
echo "$ergebnis[1]n";
Beispiel zum Ausprobieren:

Code: Select all

<?php
$domain1='test.de';
$domain2='test.co.uk';

$ausgabe=preg_match('/^(.*?)./',$domain1,$ergebnis);
echo "$ergebnis[1]n";

$ausgabe=preg_match('/^(.*?)./',$domain2,$ergebnis);
echo "$ergebnis[1]n";
?>
Wenn die Domains auch mit Subdomains, www und www und Subdomains eingegeben werden dürfen, wird's komplizierter. Dann muß man eine Liste aller möglichen Doppel-TLDs (.co.uk usw) einbauen und für jede eingegebene Domain prüfen, ob die TLD in der Liste steht.

Gruß, Wolfgang
alexander newald
Posts: 1117
Joined: 2002-09-27 00:54
Location: Hannover

Re: Problem mit dem Trennen von Domainnamen...

Post by alexander newald »

Ich finde folgenden Lösungsansatz kurz und gut:

Der Domainpart und die Domainendung wird immer durch einen Punkt, und zwar den ganz rechten, getrennt.
wgot
Posts: 1675
Joined: 2003-07-06 02:03

Re: Problem mit dem Trennen von Domainnamen...

Post by wgot »

Hallo Alexander,

so einfach ist es leider nicht, weil es in einigen Ländern üblich ist, die TLD nochmal in TLDs zu unterteilen, Du kannst in UK z.B. meine-domain.co.uk registrieren. Anderes Beispiel: .com.tw - und da gibt's leider noch mehr.

Entweder den ersten Punkt von links suchen, wenn man sicher ist, daß nix davorsteht, oder letzter Punkt von rechts, dann aber zusätzlich Tabelle mit den doppelten TLDs.

Gruß, Wolfgang
alexander newald
Posts: 1117
Joined: 2002-09-27 00:54
Location: Hannover

Re: Problem mit dem Trennen von Domainnamen...

Post by alexander newald »

Ahh... Da sieht man mal, dass ich heute eindeutig zu früh aufgestanden bin ;-) Ich meinte Links :oops:

Vor dem Domainnamen sollte nichts weiter stehen, denn sonst ist es eine Subdomain.

Mit Perl sollte es zB. so gehen:

Code: Select all

#!/usr/bin/perl

my $eingabe = "testen.co.uk";

my ($domain,@tmp) = split(/./,$eingabe);
my $endung = join(".",@tmp);

print "$eingabe => $domain & $endungn";
Anonymous

...

Post by Anonymous »

Hi und Hallo,

vielen Dank für eure Antworten.

Das klappt alles schon ganz gut, doch ein problem gibt es nun noch.

Es wird ja der Domainname ausgegeben, aber kriegt man es auch hin, dass der NIC auch angegeben wird?

Beispiel:

hallo.co.uk

echo $domain -> hallo
echo $tld -> co.uk

Vielen Dank;
Astrid
wgot
Posts: 1675
Joined: 2003-07-06 02:03

Re: Problem mit dem Trennen von Domainnamen...

Post by wgot »

Code: Select all

<?php 
$domain1='test.de'; 
$domain2='test.co.uk'; 

$ausgabe=preg_match('/^(.*?).(.*)/',$domain1,$ergebnis); 
echo "$ergebnis[1] $ergebnis[2]n"; 

$ausgabe=preg_match('/^(.*?).(.*)/',$domain2,$ergebnis); 
echo "$ergebnis[1] $ergebnis[2]n"; 
?> 
Gruß, Wolfgang
Anonymous

...

Post by Anonymous »

Hallo,

vielen Dank, dass klappt nun alles!

Nun noch die letzte Frage:

Der Nic gibt mir ja, wenn die Domain registriert ist, die entsprechenden Eignerdaten als Textauszug aus.

Beispiel:

Code: Select all

% Copyright (c)2002 by DENIC%% Restricted rights.%%% Except for agreed Internet operational purposes, no part of this% information may be reproduced, stored in a retrieval system, or% transmitted, in any form or by any means, electronic, mechanical,% recording, or otherwise, without prior permission of the DENIC% on behalf of itself and/or the copyright holders. Any use of this% material to target advertising or similar activities are explicitly% forbidden and will be prosecuted. The DENIC requests to be notified% of any such activities or suspicions thereof.domain: denic.dedescr: DENIC eGdescr: Wiesenhuettenplatz 26descr: 60329 Frankfurt am Maindescr: DEnserver: dns3.denic.de 81.91.161.2nserver: dns10.denic.de 193.171.255.36nserver: dns13.denic.de 66.35.208.43nserver: dns14.de.netnserver: dns15.de.netstatus: connectchanged: 20030819 215431source: DENIC[admin-c]Type: PERSONName: Sabine DoldererAddress: DENIC eGAddress: Wiesenhüttenplatz 26City: FrankfurtPcode: 60329Country: DEChanged: 20010912 224958Source: DENIC[tech-c][zone-c]Type: ROLEName: DENICoperationsAddress: DENIC eGAddress: Wiesenhüttenplatz 26City: FrankfurtPcode: 60329Country: DEPhone: +49 69 27235-272Fax: +49 69 27235-234Email: ops@denic.deRemarks: Information: http://www.denic.deRemarks: Questions: mailto:ops@denic.deRemarks: Tel.: 0180 2336420 (pro Anruf 1 Gebuehreneinheit)Remarks: DENICoperations at theRemarks: German Network Information Center (DENIC)Remarks: Top Level Domain for Germany (.de)Changed: 20010912 225557Source: DENIC

Wie kann ich diese denn nun anzeigen lassen?

Ein kleines Beispiel würde mir reichen z.B. der Eignername ;-)

Ganz nebenbei:
Kennt jemand die Whois-Adresse für .at-Domains? Ich habe es schon mal mit whois.nic.at probiert, aber es wird immer gesagt, dass die Domain registriert ist, auch wenn Sie frei ist.

Vielen Dank;
Astrid
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: Problem mit dem Trennen von Domainnamen...

Post by dodolin »

Kennt jemand die Whois-Adresse für .at-Domains?
Guckst du,
-> http://www.iana.org/
-> http://www.iana.org/cctld/cctld-whois.htm
-> http://www.iana.org/root-whois/at.htm
Whois server: None listed.
Anonymous

...

Post by Anonymous »

Hi,

wie machen es denn dann die Webhoster?

Da kann man doch auch prüfen ob .at-Domains noch frei sind oder schon registriert sind.

Mit freundlichen Grüßen
Astrid
pedä
Posts: 51
Joined: 2002-08-13 19:30

Re: Problem mit dem Trennen von Domainnamen...

Post by pedä »

hmmm

ein weiterer ansatz wäre auch auf die Länge der tld´s zu gehen..

mann könnte also in einzelne worte am punkt splitten, dann die länge checken.

ganz rechts MUSS ja die tld stehen..

eine doppelte dreistellige tld gibts meines wissens nach net

ist also das zweite wort von rechts länger als 2 zeichen, muß es der domainname sein!
oder hab ich was übersehen?

lg
pedä
wgot
Posts: 1675
Joined: 2003-07-06 02:03

Re: Problem mit dem Trennen von Domainnamen...

Post by wgot »

Hallo,

http://www.abc.com.tw
http://www.sub.abc.de

beidesmal ist abc die Domain.

Man könnte eventuell auf den Namen der zweitletzten Komponente von rechts gehen, weil es nicht erlaubt ist, com/net/org als Domain zu registrieren. Aber in UK nehmen sie co.uk und wer weiß, was anderen Ländern noch einfällt.

Gruß, Wolfgang