> From: Brad Fuller [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, June 06, 2007 5:44 PM
> Subject: [PHP] Parse domain from URL
> 
> Hey guys,
> 
> I'm faced with an interesting problem, and wondering if there's an easy
> solution.
> 
> I need to strip out a domain name from a URL, and ignore subdomains (like
> www)
> 
> I can use parse_url to get the hostname. And my first thought was to take
> the last 2 segments of the hostname to get the domain.  So if the URL is
> http://www.example.com/
> Then the domain is "example.com."   If the URL is http://example.org/ then
> the domain is "example.org."
> 
> This seemed to work perfectly until I come across a URL like
> http://www.example.co.uk/
> My script thinks the domain is "co.uk."
> 
> So I added a bit of code to account for this, basically if the 2nd to last
> segment of the hostname is "co" then take the last 3 segments.
> 
> Then I stumbled across a URL like http://www.example.com.au/
> 
> So it occurred to me that this is not the best solution, unless I have a
> definitive list of all exceptions to go off of.
> 
> Does anyone have any suggestions?
> 
> Any advice is much appreciated.
> 
> Thanks,
> Brad
> 
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 

Maybe use some regexp like this:
$url = http://www.a-domain.co.uk;

$domain = preg_match( "!^(http://)([-a-z0-9]+(?:\.[-a-z0-9]+)*)$!i" ); //
you will get www.a-domain.co.uk // So u can search for "www." In front of
the string to replace it or // you could edit the search for ignoring the
'www.'

Echo $domain[2];


Greetings,

Stefan

Note: this is untested.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to