函数名:idn_to_ascii()
适用版本:PHP 5.3.0 及以上版本
用法:idn_to_ascii(string $domain [, int $options = 0 [, int &$error = 0]])
说明:idn_to_ascii() 函数将一个国际化域名 (IDN) 转换为 ASCII 表示。IDN 是一种允许使用非 ASCII 字符的域名表示方法。
参数:
- $domain:要转换的国际化域名字符串。
- $options(可选):转换选项,可以是以下常量之一:
- IDNA_DEFAULT:默认选项,不做任何特殊处理。
- IDNA_ALLOW_UNASSIGNED:允许未分配的 Unicode 码位。
- IDNA_USE_STD3_RULES:使用 STD3 规则进行验证。
- IDNA_CHECK_BIDI:检查双向性。
- IDNA_CHECK_CONTEXTJ:检查上下文 J。
- $error(可选):如果转换失败,将保存错误代码。
返回值:
- 返回转换后的 ASCII 域名字符串,如果转换失败则返回 false。
示例:
$domain = '中文域名.中国';
$asciiDomain = idn_to_ascii($domain);
if ($asciiDomain !== false) {
echo "转换后的域名为:$asciiDomain";
} else {
echo "转换失败";
}
输出:
转换后的域名为:xn--fiq228c.xn--fiqs8s
注意事项:
- 在使用该函数之前,需要确保 PHP 安装了
intl
扩展。 - 如果要将 ASCII 域名转换为国际化域名,可以使用 idn_to_utf8() 函数。