idn_to_ascii

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.2, PECL idn >= 0.1)

idn_to_asciiConvierte un nombre de dominio al formato IDNA ASCII

Descripción

Estilo por procedimientos

idn_to_ascii(
    string $domain,
    int $flags = IDNA_DEFAULT,
    int $variant = INTL_IDNA_VARIANT_UTS46,
    array &$idna_info = null
): string|false

Esta función convierte un nombre de dominio Unicode a un formato ASCII compatible con IDNA, en minúsculas.

Parámetros

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_*.

Valores devueltos

El nombre de dominio codificado en formato ASCII-compatible. o false en caso de error

Historial de cambios

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.

Ejemplos

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"

Ver también

  • idn_to_utf8() - Convierte el nombre de dominio IDNA ASCII a Unicode