Re: Parse domain from URL
| From: | Tijnema | Date: | Thu, 07 Jun 2007 21:20:16 +0000 |
| Subject: | Re: Parse domain from URL | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-256329@lists.php.net to get a copy of this message | ||
On 6/7/07, Brad Fuller <bfuller@cpacampaigns.com> wrote:
Robin Vickery wrote: In that case you can't do it just by parsing alone, you need to use DNS. <?php function get_domain ($hostname) { dns_get_record($hostname, DNS_A, $authns, $addt); return $authns[0]['host']; } print get_domain("www.google.com") . "\n"; print get_domain("google.com") . "\n"; print get_domain("www.google.co.uk") . "\n"; print get_domain("google.co.uk") . "\n"; print get_domain("google.co.uk") . "\n"; print get_domain("google.com.au") . "\n"; print get_domain("www.google.com.au") . "\n"; /* result google.com google.com google.co.uk google.co.uk google.co.uk google.com.au google.com.au */I have same results as you brad, I have Apache 2.2.3 + PHP 5.2.3RC1, so if you finally get it working, it's definitely not portable code :P Maybe it's an option to talk to a whois server? TijnemaRobin, This is a very good solution, and I thank you for your response. However I had been experimenting with dns_get_record() before my original post and it produces strange results on my machine. And your example, on my machine, produces no output. <? $dns_result = dns_get_record("www.google.com", DNS_A, $authns, $addt); print_r($dns_result); print_r($authns); print_r($addt); /* result Array ( [0] => Array( [host] => www.l.google.com [type] => A [ip] => 64.233.161.99 [class] => IN [ttl] => 136 )[1] => Array( [host] => www.l.google.com [type] => A [ip] => 64.233.161.147 [class] => IN [ttl] => 136 )[2] => Array( [host] => www.l.google.com [type] => A [ip] => 64.233.161.103 [class] => IN [ttl] => 136 )[3] => Array( [host] => www.l.google.com [type] => A [ip] => 64.233.161.104 [class] => IN [ttl] => 136 )) Array ( ) Array ( ) */ ?> Any suggestions?? Thanks, Brad