首页 文章资讯内容详情

PHP – idn_to_ascii() 函数

2026-06-03 2 花语

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