WP File Manager
Current Path:
/
home
/
argothem
/
www
/
organecyberpresse
/
vendor
/
algo26-matthias
/
idna-convert
/
src
/
Name
Action
..
AbstractIdnaConvert.php
Edit
EncodingHelper
Exception
IdnaConvertInterface.php
Edit
NamePrep
Punycode
ToIdn.php
Edit
ToUnicode.php
Edit
TranscodeUnicode
Editing: ToUnicode.php
<?php namespace Algo26\IdnaConvert; use Algo26\IdnaConvert\Punycode\FromPunycode; use Algo26\IdnaConvert\TranscodeUnicode\TranscodeUnicode; class ToUnicode extends AbstractIdnaConvert implements IdnaConvertInterface { /** @var TranscodeUnicode */ private $unicodeTransCoder; /** @var FromPunycode */ private $punycodeEncoder; public function __construct() { $this->unicodeTransCoder = new TranscodeUnicode(); $this->punycodeEncoder = new FromPunycode(); } public function convert(string $host): string { // Drop any whitespace around $input = trim($host); $hostLabels = explode('.', $input); foreach ($hostLabels as $index => $label) { $return = $this->punycodeEncoder->convert($label); if (!$return) { $return = $label; } $hostLabels[$index] = $return; } return implode('.', $hostLabels); } }