tld uit url halen
Ik ben op zoek naar een manier om de tld uit een opgegeven url te halen en op te slaan.
nu heb ik al wat geprobeerd met "parse url" maar daar kan ik de tld niet mee naar boven halen.
ook ben ik bezig met het volgende :
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$string = 'http://www.google.nl';
$string = str_replace('http://','',$string);
$onderdelen = explode('.',$string);
$var = $onderdelen[0];
$var = $onderdelen[1];
$var = $onderdelen[2];
?>
$string = 'http://www.google.nl';
$string = str_replace('http://','',$string);
$onderdelen = explode('.',$string);
$var = $onderdelen[0];
$var = $onderdelen[1];
$var = $onderdelen[2];
?>
aangezien elke url anders is werkt bovenstaande niet goed...en het word ook een aardige code om te controleren waar de tld zich bevind.
iemand een idee hoe ik dit het beste voor elkaar kan krijgen ?
Ik denk dat je met $_SERVER['HTTP_HOST'] direct te pakken hebt wat jij wilt...
de url heb ik al. ik wil alleen weten wat de tld is, dus .nl .com .eu .net etc
dan is het de bedoeling dat deze word opgeslagen in een variabele, dus stel dat de tld .nl dan moet het zoeits worden $tld=".nl"
http://www.voorbeeld.nl/index.php
dan geeft hij dus als resultaat "php"
kan ik ook de gegevens ophalen tussen de enelaatste en de laatste punt ? op die manier zou ik dan kunnen controleren waar de tld zich bevind.
explode is ook lastig aangezien de url dus elke keer anders is en niet standaar op .nl eindigt. hoe kan ik dan checken waar de tld zich bevind ?
1 probleem, stel dat de url als volgt word opgegeven : dan geeft hij dus als resultaat "php"
kan ik ook de gegevens ophalen tussen de enelaatste en de laatste punt ? op die manier zou ik dan kunnen controleren waar de tld zich bevind.
explode is ook lastig aangezien de url dus elke keer anders is en niet standaar op .nl eindigt. hoe kan ik dan checken waar de tld zich bevind ?
Gewijzigd op 01/01/1970 01:00:00 door Robin
hij haalt wel een stuk op met een gedeelte van het tld, misschien dat ik dat kan combineren met bovenstaande code
dr was een functie voor, ben vergeten. gewoon met regex doen
parse_url, dan host exploden, en vervolgens laatste waarde
thx voor de reacties...ik kan weer aan het werk ha ha. ik zal het meteen even proberen
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$string = 'http://www.google.nl/';
$onderdelen = pathinfo($string);
$var = $onderdelen['extension'];
?>
$string = 'http://www.google.nl/';
$onderdelen = pathinfo($string);
$var = $onderdelen['extension'];
?>
Edit:
let op: http://www.google.com/google.php levert php op!
nja zo dan maar:
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door - -
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Legolas
@Robin: heb jij mijn oplossing wel geprobeerd. $_SERVER['HTTP_HOST'] bevat namelijk van een url als www.voorbeeld.com/test/index.php alleen het gedeelte 'www.voorbeeld.com'.
ps. @Legolas: nice :-)
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
wat je zegt klopt inderdaad. op zich werkte het prima, maar hij pakt dan de tld van de website zelf en niet van de opgegeven url.
een bezoeker van mijn site geeft dmv een formulier een url door die in een database gezet word en adhv deze url wil ik de tld hebben, iets wat me niet is gelukt met $_SERVER['HTTP_HOST']
ik heb nu onderstaande code, maar om de een of andere reden werkt hij niet goed :
Code (php)
het ligt hem in het explode gedeelte. als ik onderstaande code naar het scherm probeer te schrijven geeft hij "array" weer ipv "www", "voorbeeld" en "com"
Code (php)
edit : ik had de overige reacties nog niet gezien, dus die ga ik ook even proberen.
edit 2 : de post van legola werkt zo te zien het best en geeft tot op heden altijd het goede resultaat :
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Robin
Maar kijk dan even naar het voorbeeld van Legolas, dat is dan precies wat je zoekt.
die van legolas werkt inderdaad perfect.
iedereen erg bedankt voor de reacties, echt super