On 6/7/07, Brad Fuller <[EMAIL PROTECTED]> 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
> */
>>
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
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?
Tijnema
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php