idn_to_ascii () hàm trong PHP được sử dụng để chuyển đổi tên miền Unicode sang dạng IDNA ASCII. IDNA là viết tắt của Internationalizing Domain Name in Applications. Đây là một cơ chế để xử lý các tên miền quốc tế hóa có chứa các ký tự không phảiASCII.
Cú pháp
string idn_to_ascii( str $domain, integer $flags=IDNA_DEFAULT, integer $variant=INTL_IDNA_VARIANT_UTS46, arr &$idna_info=null )
Tham số
idn_to_ascii () chấp nhận bốn tham số sau -
-
$ miền - Đây là miền được chuyển đổi; nó phải được mã hóa UTF-8.
-
$ flags - Tham số này là sự kết hợp của hằng số IDNA_ * .
-
biến thể $ - Tham số này sử dụng INTL_IDNA_VARIANT_2003 cho IDNA 2003 hoặc INTL_IDNA_VARIANT_UTS46 cho UTS # 46.
-
$ idna_info - Tham số này chỉ được sử dụng nếu INTL_IDNA_VARIANT_UTS46 được sử dụng trong biến thể $ tham số.
Giá trị trả lại
Hàm này trả về tên miền được mã hóa ở dạng tương thích với ASCII hoặc trả về False khi không thành công.
Ví dụ 1
<?php // String domain print idn_to_ascii('täst.de',0); ?>
Đầu ra
xn--tst-qla.de
Ví dụ 2
<?php // encoded string ISO-8859-2 echo idn_to_ascii(utf8_encode('täst.de')); // It cannot convert a domain name to ASCII // that contains non-ASCII chars but // it already start with "xn--" $ascii = idn_to_ascii("xn--".chr(0xC3).chr(0xA4)); print_r($ascii); ?>
Đầu ra
xn--tst-fea82a.de