Parse domain from URL
| From: | Brad Fuller | Date: | Wed, 06 Jun 2007 15:43:34 +0000 |
| Subject: | Parse domain from URL | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-256189@lists.php.net to get a copy of this message | ||
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