PHP 8.1.33
Preview: AbstractIdnaConvert.php Size: 1.18 KB
/home/jambtst2015/public_html/ida.com.ng/libraries/vendor/algo26-matthias/idna-convert/src/AbstractIdnaConvert.php

<?php

namespace Algo26\IdnaConvert;

use InvalidArgumentException;

abstract class AbstractIdnaConvert
{
    abstract public function convert(string $host): string;

    /**
     * @param string $emailAddress
     *
     * @return string
     */
    public function convertEmailAddress(string $emailAddress): string
    {
        if (strpos($emailAddress, '@') === false) {
            throw new InvalidArgumentException('The given string does not look like an email address', 206);
        }

        $parts = explode('@', $emailAddress);

        return sprintf(
            '%s@%s',
            $parts[0],
            $this->convert($parts[1])
        );
    }

    /**
     * @param string $url
     *
     * @return string
     */
    public function convertUrl(string $url): string
    {
        $parsed = parse_url($url);
        if ($parsed === false) {
            throw new InvalidArgumentException('The given string does not look like a URL', 206);
        }

        // Nothing to do
        if (!isset($parsed['host']) || $parsed['host'] === null) {
            return $url;
        }
        $parsed['host'] = $this->convert($parsed['host']);

        return http_build_url($parsed);
    }
}

Directory Contents

Dirs: 5 × Files: 4

Name Size Perms Modified Actions
- drwxr-xr-x 2024-11-22 17:53:12
Edit Download
Exception DIR
- drwxr-xr-x 2024-11-22 17:53:12
Edit Download
NamePrep DIR
- drwxr-xr-x 2024-11-22 17:53:12
Edit Download
Punycode DIR
- drwxr-xr-x 2024-11-22 17:53:12
Edit Download
- drwxr-xr-x 2024-11-22 17:53:12
Edit Download
1.18 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
249 B lrw-r--r-- 2024-11-22 17:53:12
Edit Download
1.94 KB lrw-r--r-- 2024-11-22 17:53:12
Edit Download
969 B lrw-r--r-- 2024-11-22 17:53:12
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).