idn_to_ascii() ফাংশনটি PHP-এ একটি ইউনিকোড ডোমেইন নামকে IDNA ASCII ফর্মে রূপান্তর করতে ব্যবহৃত হয়। IDNA মানে Internationalizing Domain Names in Applications। এটি নন-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-এর একটি কম্বিনেশন।
$variant − এই প্যারামিটারটি হয় INTL_IDNA_VARIANT_2003 (IDNA 2003-এর জন্য) বা INTL_IDNA_VARIANT_UTS46 (UTS#46-এর জন্য) ব্যবহার করে।
$idna_info − এই প্যারামিটারটি শুধু তখন ব্যবহৃত হয় যখন INTL_IDNA_VARIANT_UTS46 $variant প্যারামিটারে ব্যবহৃত হয়।
রিটার্ন ভ্যালু
এই ফাংশন ASCII-কম্প্যাটিবল ফর্মে এনকোডেড ডোমেইন নাম রিটার্ন করে, অথবা ব্যর্থ হলে False রিটার্ন করে।
উদাহরণ ১
<?php
// স্ট্রিং ডোমেইন
print idn_to_ascii('täst.de', 0);
?>
আউটপুট
xn--tst-qla.de
উদাহরণ ২
<?php
// ISO-8859-2 এনকোডেড স্ট্রিং
echo idn_to_ascii(utf8_encode('täst.de'));
// এটি একটি ডোমেইন নামকে ASCII-তে রূপান্তর করতে পারে না
// যেটিতে নন-ASCII ক্যারেক্টার আছে কিন্তু
// সেটি ইতিমধ্যে "xn--" দিয়ে শুরু হয়
$ascii = idn_to_ascii("xn--".chr(0xC3).chr(0xA4));
print_r($ascii);
?>
আউটপুট
xn--tst-fea82a.de