(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 por procedimientos
$domain
,$flags
= IDNA_DEFAULT
,$variant
= INTL_IDNA_VARIANT_UTS46
,&$idna_info
= null
Esta función convierte un nombre de dominio Unicode a un formato ASCII compatible con IDNA, en minúsculas.
domain
El dominio a convertir, que debe estar codificado en UTF-8.
flags
Opciones 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
en caso de 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 resultado del ejemplo sería:
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 resultado del ejemplo sería:
string(11) "example.com"