[php] Domein met dubbele tld's uit url halen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 18-06 08:40
Ik ben al de hele middag aan het klooien met een scriptje te maken dat een domein (+tld) uit een url te halen.

Bijv:

http://www.google.com/pietje/puk.html

krijg ik: google.com

Dat is geen probleem.

Echter, als je een subdomein hebt, OF een dubbele tld (.co.uk bijv.) dan kan het script (volgensmij) NOOIT weten wat nou het domein is...

Heb ik dit correct en is dit gewoon onmogelijk om te maken, of is er toch nog een functie oid voor? Met parse_url() gaat het ook niet lukken want die geeft het subdomein+domein+tld terug... bijv. pietje.puk.co.uk
Ik kan wel maken dat ie altijd alles dat voor de eerste punt staat weg haalt, maar dan krijg je weer problemen als;

- er meerdere subdomeinen zijn
- geen subdomein is

Ik zit al uren na te denken maar kom dr gewoon niet uit... iemand een idee?

Leef lekker in het nu, er is niks anders


Acties:
  • 0 Henk 'm!

  • xtr3me
  • Registratie: Oktober 2001
  • Niet online
post eerst eens het script wat je zelf al hebt :)

Acties:
  • 0 Henk 'm!

  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 25-10-2022

Banpei

Hachiroku on this touge?

Kan aan mij liggen, maar www is toch ook gewoon een subdomein? :?

Edit:
Mijn domein is ook gewoon zonder www, en ik heb een a record aangemaakt voor www zodat men ook met www voor het domein op mijn domein terecht kan.

[ Voor 55% gewijzigd door Banpei op 22-07-2004 15:37 ]

AE86 gevonden! | So what I thought I'd do was, I'd pretend to be one of those deaf-mutes.


Acties:
  • 0 Henk 'm!

Verwijderd

Pak de FQDN die je van parse_url() krijgt, split 'm op punten en plak de laatste twee elementen weer aan elkaar.

PHP:
1
2
3
4
$fqdn = /* ... */;
$parts = explode(".", $fqdn);
$lasttwo = array_slice($parts, -2);
$domain = implode(".", $lasttwo);


Je kan de functies voor het gemak natuurlijk ook in elkaar hangen.


Edit: hmm... dit script werkt natuurlijk niet als je een tld van 2 stukken hebt. ff over prakkizeren :)

[ Voor 19% gewijzigd door Verwijderd op 22-07-2004 15:34 ]


Acties:
  • 0 Henk 'm!

  • coubertin119
  • Registratie: Augustus 2002
  • Laatst online: 06-09 16:28
offtopic:
Banpei, www is een deprecated subdomain. http://no-www.org :)


Er moet toch ergens een lijst beschikbaar zijn met alle TLD's, je split een domeinnaam dan op . en je kijkt dan naar het aantal delen, als het er 3 zijn moet het eerste www zijn of een echte domeinnaam als het een tweeledige TLD is enzovoorts. Zo heb ik 't ook geflikt om een validator voor language-codes (denk aan "en-us" en "x-klingon" en consoorten) te maken.

[ Voor 73% gewijzigd door coubertin119 op 22-07-2004 15:36 ]

Skat! Skat! Skat!


Acties:
  • 0 Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 10-09 14:31
Je weet niet wat je wil, dan kan PHP ook niet helpen. Je krijgt a.b of a.b.c of a.b.c.d of a.b.c.d.e binnen, welke delen wil je?

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Acties:
  • 0 Henk 'm!

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 18-06 08:40
xtr3me schreef op 22 juli 2004 @ 15:30:
post eerst eens het script wat je zelf al hebt :)
Das nog niks, 2 regels ofzo :)
Wat geklooi met parse_url() enzo... ik weet wel hoe ik iets moet coden, alleen ik weet niet wat ik moet coden :)
Banpei schreef op 22 juli 2004 @ 15:33:
Kan aan mij liggen, maar www is toch ook gewoon een subdomein? :?

Edit:
Mijn domein is ook gewoon zonder www, en ik heb een a record aangemaakt voor www zodat men ook met www voor het domein op mijn domein terecht kan.
Klopt.
MSalters schreef op 22 juli 2004 @ 15:36:
Je weet niet wat je wil, dan kan PHP ook niet helpen. Je krijgt a.b of a.b.c of a.b.c.d of a.b.c.d.e binnen, welke delen wil je?
Ik weet wel wat ik wil :? Ik wil het volledige domein PLUS tld in een string, dat dus ook werkt met dubbele TLD's zoals co.uk.

Leef lekker in het nu, er is niks anders


Acties:
  • 0 Henk 'm!

  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 25-10-2022

Banpei

Hachiroku on this touge?

coubertin119 schreef op 22 juli 2004 @ 15:34:
offtopic:
Banpei, www is een deprecated subdomain. http://no-www.org :)
Dat is dus precies wat ik bedoelde te zeggen. ;)

Maar ik heb geloof ik wel wat gevonden:
Dig implementatie van PEAR kan precies hetzelfde als dig command line. Dan moet je de authority section uitlezen: dat is nl het hoofddomein, dan zou het iig wel moeten werken voor de dubbele tld's... :)

AE86 gevonden! | So what I thought I'd do was, I'd pretend to be one of those deaf-mutes.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Je zou een lijst van alle TLD's die er bestaan kunnen opzoeken, en deze in een array zetten. Vervolgens deze array aflopen en kijken of je string eindigt op die waarde. Zo ja -> die waarde eraf halen en de loop doorbreken, zo nee -> volgende.
Vervolgens haal je alles voor de laaste punt weg, dat zijn dan subdomeinen.
Bij images.photos.watdanook.google.co.uk hou je dan als het goed is alleen "google" over.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 10:03

Creepy

Tactical Espionage Splatterer

FireFoz schreef op 22 juli 2004 @ 15:42:
[...]
Ik weet wel wat ik wil :? Ik wil het volledige domein PLUS tld in een string, dat dus ook werkt met dubbele TLD's zoals co.uk.
Je weet niet wat je wil ;)

Wat je zegt wat je wilt: De eventuele hostname van een url strippen.

dus bij een www.google.com, wil je www. weghalen. Heb je ook geen gezeur met www.blaat.dinges.woei.blaat.meer.nogmeer.etc.com.uk.nl.org.

Maar dan is je probleem dat je nooit zeker weet of er een host toevoeging is (www, www2, mail, ftp, dinges, woei, blaat, nogmeeronzin etc. etc. etc.).
Conclusie: alleen met de URL is er geen eenduidige oplossing voor.

[ Voor 4% gewijzigd door Creepy op 22-07-2004 15:47 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 18-06 08:40
Banpei schreef op 22 juli 2004 @ 15:44:
[...]

Dat is dus precies wat ik bedoelde te zeggen. ;)

Maar ik heb geloof ik wel wat gevonden:
Dig implementatie van PEAR kan precies hetzelfde als dig command line. Dan moet je de authority section uitlezen: dat is nl het hoofddomein, dan zou het iig wel moeten werken voor de dubbele tld's... :)
ahh ik zie al wat je bedoelde met die opmerking over www :p
Wat ik bedoelde is, als het anders is dan www :) Anders kun je gewoon www er uit slopen natuurlijk :)

Leef lekker in het nu, er is niks anders


Acties:
  • 0 Henk 'm!

Verwijderd

Hmm... .co.uk is eigenlijk ook geen tld. .uk is het tld en in Engeland vinden ze het leuk om er nog iets voor te plakken. En in Nieuw-Zeeland vreten ze dat ook uit (.co.nz).

Zijn er eigenlijk gewone ".uk" of gewone ".nz" adressen? Anders zou je een lijst van boosdoenende landen op kunnen stellen die nog een kwalificatie onder hun tld vereisen, en daarbij een slice extra pakken (3 ipv 2).

Acties:
  • 0 Henk 'm!

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 18-06 08:40
Verwijderd schreef op 22 juli 2004 @ 15:56:
Hmm... .co.uk is eigenlijk ook geen tld. .uk is het tld en in Engeland vinden ze het leuk om er nog iets voor te plakken. En in Nieuw-Zeeland vreten ze dat ook uit (.co.nz).

Zijn er eigenlijk gewone ".uk" of gewone ".nz" adressen? Anders zou je een lijst van boosdoenende landen op kunnen stellen die nog een kwalificatie onder hun tld vereisen, en daarbij een slice extra pakken (3 ipv 2).
Ja daar zat ik ook aan te denken, alleen er komen ook nog steeds nieuwe bij... dus dan zou ik het steeds moeten updaten, en dat is niet de bedoeling :)

Leef lekker in het nu, er is niks anders


Acties:
  • 0 Henk 'm!

Verwijderd

Je kan alles exploden in een array, dan de tld vinden door een lijst door te lopen van mogelijke tld's op elke key, de vorige key is het domein.

Acties:
  • 0 Henk 'm!

Verwijderd

FireFoz schreef op 22 juli 2004 @ 16:03:
[...]


Ja daar zat ik ook aan te denken, alleen er komen ook nog steeds nieuwe bij... dus dan zou ik het steeds moeten updaten, en dat is niet de bedoeling :)
Dan is het onmogelijk!

Je hebt de mogelijkheden a.a.a.b.c, a.b.c, a.b.c.c, a.a.b.c, etc
(a=sub, b=domein,c=tld)

Dit is dus niet te doen.

[ Voor 18% gewijzigd door Verwijderd op 22-07-2004 16:15 ]


Acties:
  • 0 Henk 'm!

  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 25-10-2022

Banpei

Hachiroku on this touge?

FireFoz schreef op 22 juli 2004 @ 15:48:
ahh ik zie al wat je bedoelde met die opmerking over www :p
Wat ik bedoelde is, als het anders is dan www :) Anders kun je gewoon www er uit slopen natuurlijk :)
Dus dat zou afdoende moeten zijn. :)

Als ik via Dig de authority section opvraag van een .co.uk domein krijg ik dit:
www.domein.co.uk -> domein.co.uk
bla.domein2.co.uk -> domein2.co.uk

Terwijl dit alleen het hoofddomein terug geeft:
www.pozor.demon.nl -> demon.nl
bla.blup.nl -> blup.nl
Verwijderd schreef op 22 juli 2004 @ 15:56:
Hmm... .co.uk is eigenlijk ook geen tld. .uk is het tld en in Engeland vinden ze het leuk om er nog iets voor te plakken. En in Nieuw-Zeeland vreten ze dat ook uit (.co.nz).

Zijn er eigenlijk gewone ".uk" of gewone ".nz" adressen? Anders zou je een lijst van boosdoenende landen op kunnen stellen die nog een kwalificatie onder hun tld vereisen, en daarbij een slice extra pakken (3 ipv 2).
Is idd wel zo, maar dat is vanuit het oogpunt op landnaam cooperate en organisaties e.d. gescheiden te houden, net als de .com, .edu, .org en .net. Dit hebben ze alleen uiteindelijk niet doorgevoerd.

AE86 gevonden! | So what I thought I'd do was, I'd pretend to be one of those deaf-mutes.


Acties:
  • 0 Henk 'm!

  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 25-10-2022

Banpei

Hachiroku on this touge?

FireFoz schreef op 22 juli 2004 @ 15:27:
Heb ik dit correct en is dit gewoon onmogelijk om te maken, of is er toch nog een functie oid voor? Met parse_url() gaat het ook niet lukken want die geeft het subdomein+domein+tld terug... bijv. pietje.puk.co.uk
;)

AE86 gevonden! | So what I thought I'd do was, I'd pretend to be one of those deaf-mutes.


Acties:
  • 0 Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 10-09 14:31
Als ik het me goed herinner was er een land waarvan de overheid als nationale site www.cc had, dus geen domein :)

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Acties:
  • 0 Henk 'm!

  • Leon T
  • Registratie: Juni 2001
  • Niet online

Leon T

Ni!

jawel, het domein cc met het subdomein www

B)

Acties:
  • 0 Henk 'm!

  • Sendy
  • Registratie: September 2001
  • Niet online
Nee, de tld (= natuurlijk een erg korte domeinnaam) en de _host_ www. (Buiten een A record voor domeinen gerekend.)

Zie ook de betekenis van domein:
do·mein (het ~, ~en)
1 gebied waarin iem. het voor het zeggen heeft => machtsgebied
2 geestelijk gebied => terrein
3 een groep computers in een netwerk met een gezamenlijk adres, bv. een e-mailadres
4 domeinnaam

1. is hier het interessants. cc is het gebied waar de cc NIC het voor het zeggen heeft.

[ Voor 6% gewijzigd door Sendy op 22-07-2004 20:58 ]

Pagina: 1