(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.2, PECL idn >= 0.1)
idn_to_ascii — Convert domain name to IDNA ASCII form
Procedural style
$domain,$flags = IDNA_DEFAULT,$variant = INTL_IDNA_VARIANT_UTS46,&$idna_info = nullThis function converts a Unicode domain name to an IDNA ASCII-compatible format.
domainThe domain to convert, which must be UTF-8 encoded.
flagsConversion options - combination of IDNA_* constants (except IDNA_ERROR_* constants).
variant
       Either INTL_IDNA_VARIANT_2003 (deprecated as of PHP 7.2.0) for IDNA 2003 or
       INTL_IDNA_VARIANT_UTS46 (only available as of ICU 4.6) for UTS #46.
      
idna_info
       This parameter can be used only if
       INTL_IDNA_VARIANT_UTS46 was used for
       variant. In that case, it will be filled with an
       array with the keys 'result', the possibly illegal
       result of the transformation,
       'isTransitionalDifferent', a boolean indicating
       whether the usage of the transitional mechanisms of UTS #46 either has
       or would have changed the result and 'errors',
       which is an int representing a bitset of the error
       constants IDNA_ERROR_*.
      
   The domain name encoded in ASCII-compatible form,  or false on failure
  
| Version | Description | 
|---|---|
| 7.4.0 | The default value of variantis nowINTL_IDNA_VARIANT_UTS46instead of the deprecatedINTL_IDNA_VARIANT_2003. | 
| 7.2.0 | INTL_IDNA_VARIANT_2003has been deprecated; useINTL_IDNA_VARIANT_UTS46instead. | 
Example #1 idn_to_ascii() example
<?php
echo idn_to_ascii('täst.de'); 
?>
The above example will output:
xn--tst-qla.de
