Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Idn.php

function Idn::idn_to_utf8

Parameters

string $domainName:

int $options:

int $variant:

array $idna_info:

Return value

string|false

See also

https://www.unicode.org/reports/tr46/#ToUnicode

File

vendor/symfony/polyfill-intl-idn/Idn.php, line 199

Class

Idn
@internal

Namespace

Symfony\Polyfill\Intl\Idn

Code

public static function idn_to_utf8($domainName, $options = self::IDNA_DEFAULT, $variant = self::INTL_IDNA_VARIANT_UTS46, &$idna_info = []) {
    if (self::INTL_IDNA_VARIANT_2003 === $variant) {
        @trigger_error('idn_to_utf8(): INTL_IDNA_VARIANT_2003 is deprecated', \E_USER_DEPRECATED);
    }
    $info = new Info();
    $labels = self::process((string) $domainName, [
        'CheckHyphens' => true,
        'CheckBidi' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 !== ($options & self::IDNA_CHECK_BIDI),
        'CheckJoiners' => self::INTL_IDNA_VARIANT_UTS46 === $variant && 0 !== ($options & self::IDNA_CHECK_CONTEXTJ),
        'UseSTD3ASCIIRules' => 0 !== ($options & self::IDNA_USE_STD3_RULES),
        'Transitional_Processing' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 === ($options & self::IDNA_NONTRANSITIONAL_TO_UNICODE),
    ], $info);
    $idna_info = [
        'result' => implode('.', $labels),
        'isTransitionalDifferent' => $info->transitionalDifferent,
        'errors' => $info->errors,
    ];
    return 0 === $info->errors ? $idna_info['result'] : false;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal