获取具有Unicode字符的域的IP地址?

时间:2014-11-15 04:54:01

标签: php unicode ip

在PHP中,我如何获得www.mén.com的IP地址?我已尝试gethostbyname(), gethostbynamel(), dns_get_record(),但这些都不适用于Unicode字符。

1 个答案:

答案 0 :(得分:1)

在解决问题之前,您需要将域名转换为Punycode表单。您可以使用idn_to_ascii()功能执行此操作,该功能是intl扩展程序的一部分:

$domain = "www.mén.com";
$domain_ascii = idn_to_ascii($domain);
print $domain_ascii; // "www.xn--mn-bja.com"

在您拥有此表单中的域名后,您可以正常使用该域名,例如将其传递给gethostbyname()