Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP – idn_to_ascii() ฟังก์ชัน


idn_to_ascii() ฟังก์ชันใน PHP ใช้เพื่อแปลงชื่อโดเมน Unicode เป็นรูปแบบ IDNA ASCII IDNA ย่อมาจาก Internationalizing Domain Names ในแอปพลิเคชัน เป็นกลไกในการจัดการชื่อโดเมนสากลที่มีอักขระที่ไม่ใช่ ASCII

ไวยากรณ์

string idn_to_ascii(
   str $domain,
   integer $flags=IDNA_DEFAULT,
   integer $variant=INTL_IDNA_VARIANT_UTS46,
   arr &$idna_info=null
)

พารามิเตอร์

idn_to_ascii() ยอมรับสี่พารามิเตอร์ต่อไปนี้ -

  • $โดเมน − นี่คือโดเมนที่จะแปลง จะต้องเข้ารหัส UTF-8

  • $flags − พารามิเตอร์นี้เป็นการรวมกันของ IDNA_*constants .

  • $ตัวแปร − พารามิเตอร์นี้ใช้ INTL_IDNA_VARIANT_2003 สำหรับ IDNA 2003 หรือ INTL_IDNA_VARIANT_UTS46 สำหรับ UTS#46

  • $idna_info − พารามิเตอร์นี้จะใช้เฉพาะเมื่อ INTL_IDNA_VARIANT_UTS46 ใช้ใน $variant พารามิเตอร์

คืนค่า

ฟังก์ชันนี้ส่งคืนชื่อโดเมนที่เข้ารหัสในรูปแบบที่เข้ากันได้กับ ASCII หรือส่งกลับค่า False เมื่อล้มเหลว

ตัวอย่างที่ 1

<?php
   // String domain
   print idn_to_ascii('täst.de',0);
?>

ผลลัพธ์

xn--tst-qla.de

ตัวอย่างที่ 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);
?>

ผลลัพธ์

xn--tst-fea82a.de