idn_strerror
idn_to_utf8
Idn Функции
PHP Manual

# idn_to_ascii

(PECL idn >= 0.1)

idn_to_ascii — Convert UTF-8 encoded domain name to ASCII

### Описание

string idn_to_ascii ( string `$utf8_domain` [, int `&$errorcode` ] )

This function converts a UTF-8 encoded domain name to ASCII according to the IDNA toUnicode() specification. If the input has non-ASCII characters, the output will be in the "xn--" ACE notation.

### Список параметров

`utf8_domain`

  The UTF-8 encoded domain name.

  Внимание

  If e.g. an ISO-8859-1 (aka Western Europe latin1) encoded string is passed it will be converted into an ACE encoded "xn--" string. It will not be the one you expected though!

`errorcode`

  Will be set to the IDNA error code.

### Возвращаемые значения

The ACE encoded version of the domain name or `FALSE` in case of an error.

### Errors/Exceptions

If an error occurs `FALSE` is returned and the optional errorcode is set. In addition a E_WARNING message is printed.

### Примеры

Пример #1 idn_to_ascii() example

First a simple example and then one explaining how to catch errors.

`<?php
// ISO-8859-1 encoded string
echo idn_to_ascii(utf8_encode('täst.de')));
// Cannot convert a domain name to ASCII that contains non-ASCII chars but already starts with "xn--"
$ascii = idn_to_ascii("xn--".chr(0xC3).chr(0xA4), $errorcode);
if ($ascii === false) {
printf("Detected error %d: %s\n", $errorcode, idn_strerror($errorcode));
}
?>`

Результатом выполнения данного примера будет что-то подобное:

    xn--tst-qla.de

    Detected error 8: Input already contain ACE prefix (`xn--')

### Смотрите также

- utf8_encode() - Encodes an ISO-8859-1 string to UTF-8
- idn_strerror() - Returns string describing the IDNA error code
- idn_to_utf8() - Convert ASCII encoded domain name to UTF-8

idn_strerror
idn_to_utf8
Idn Функции
PHP Manual