(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.2, PECL idn >= 0.1)
idn_to_ascii — Convierte un nombre de dominio al formato IDNA ASCII
Estilo procedimental
$domain,$flags = IDNA_DEFAULT,$variant = INTL_IDNA_VARIANT_UTS46,&$idna_info = nullEsta función convierte un nombre de dominio Unicode a un formato ASCII compatible con IDNA, en minúsculas.
domainEl dominio a convertir, que debe estar codificado en UTF-8.
flagsOpciones de conversión - combinación de constantes IDNA_*. (excepto las constantes IDNA_ERROR_*).
variant
Puede ser INTL_IDNA_VARIANT_2003 (obsoleto a partir de PHP
7.2.0) para IDNA 2003, o INTL_IDNA_VARIANT_UTS46
(solo disponible a partir de ICU 4.6) para UTS #46.
idna_info
Este parámetro solo puede ser utilizado si la constante
INTL_IDNA_VARIANT_UTS46 ha sido utilizada en
el parámetro variant. En este caso, será
un array con la clave 'result' conteniendo el resultado
de la transformación, la clave 'isTransitionalDifferent'
conteniendo un booleano indicando si se ha utilizado el mecanismo transicional
UTS #46 que ha alterado o no el resultado, y la clave
'errors' conteniendo un int representando
un conjunto de bits de las constantes de error IDNA_ERROR_*.
El nombre de dominio codificado en formato ASCII-compatible. o false si ocurre un error
| Versión | Descripción |
|---|---|
| 7.4.0 |
El valor por defecto del parámetro variant es
ahora INTL_IDNA_VARIANT_UTS46 en lugar
de la constante INTL_IDNA_VARIANT_2003 depreciada.
|
| 7.2.0 |
INTL_IDNA_VARIANT_2003 ha sido depreciado; utilizar
INTL_IDNA_VARIANT_UTS46 en su lugar.
|
Ejemplo #1 Ejemplo con idn_to_ascii()
<?php
echo idn_to_ascii('täst.de');
?>El ejemplo anterior mostrará :
xn--tst-qla.de
Ejemplo #2 Los nombres de dominio completamente ASCII son simplemente convertidos a minúsculas
<?php
var_dump(idn_to_ascii('Example.com'));
?>El ejemplo anterior mostrará :
string(11) "example.com"