Back to PunycodeHelper class

Method emailToUTF8

public static string
emailToUTF8
(mixed $email)
Transforms a Punycode email to a UTF-8 email This assumes a valid email address
Parameters
  • string $email The punycode email to transform
Returns
  • string The punycode email
Since
  • 3.1.2

Method emailToUTF8 - Source code

/**
 * Transforms a Punycode email to a UTF-8 email
 * This assumes a valid email address
 *
 * @param   string  $email  The punycode email to transform
 *
 * @return  string  The punycode email
 *
 * @since   3.1.2
 */
public static function emailToUTF8($email)
{
    $explodedAddress = explode('@', $email);
    // Not addressing UTF-8 user names
    $newEmail = $explodedAddress[0];
    if (!empty($explodedAddress[1])) {
        $domainExploded = explode('.', $explodedAddress[1]);
        $newdomain = '';
        foreach ($domainExploded as $domainex) {
            $domainex = static::fromPunycode($domainex);
            $newdomain .= $domainex . '.';
        }
        $newdomain = substr($newdomain, 0, -1);
        $newEmail = $newEmail . '@' . $newdomain;
    }
    return $newEmail;
}