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 > */ >> Robin, 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 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php