PHP – idn_to_ascii() 函数
idn_to_ascii()PHP中的函数用于将Unicode域名转换为IDNAASCII格式。IDNA代表应用程序中的国际化域名。它是一种处理包含非ASCII字符的国际化域名的机制。
语法
string idn_to_ascii( str $domain, integer $flags=IDNA_DEFAULT, integer $variant=INTL_IDNA_VARIANT_UTS46, arr &$idna_info=null )
参数
idn_to_ascii()接受以下四个参数-
$domain-这是要转换的域;它必须是UTF-8编码的。
$flags-此参数是IDNA_*constants的组合。
$变种-这个参数既可使用INTL_IDNA_VARIANT_20032003年IDNA或INTL_IDNA_VARIANT_UTS46为UTS#46。
$idna_info-只有在$variant参数中使用INTL_IDNA_VARIANT_UTS46时才使用此参数。
返回值
此函数返回以ASCII兼容形式编码的域名,或者在失败时返回False。
示例1
<?php //字符串域 print idn_to_ascii('täst.de',0); ?>输出结果
xn--tst-qla.de
示例2
<?php //编码字符串ISO-8859-2 echo idn_to_ascii(utf8_encode('täst.de')); //它无法将域名转换为ASCII //包含非ASCII字符但 // it already start with "xn--" $ascii = idn_to_ascii("xn--".chr(0xC3).chr(0xA4)); print_r($ascii); ?>输出结果
xn--tst-fea82a.de