src/Helper.php
public static function getSubdomain(string $url = null) : string
    {
        if (!$url) {
            $url = (string)$_SERVER['HTTP_HOST'];
        }

        $url = parse_url($url, PHP_URL_HOST) ?? $url;
        /** @var string $url */
        $url = \str_replace('www.', '', $url);
        $domains = explode('.', $url);
        if (\count($domains) < 3) {
            return '';
        }

        return idn_to_utf8(array_reverse($domains)[2], 0, INTL_IDNA_VARIANT_UTS46);
    }
public static function getSubdomain(string $url = null) : string
    {
        if (!$url) {
            $url = (string)$_SERVER['HTTP_HOST'];
        }

        $url = parse_url($url, PHP_URL_HOST) ?? $url;
        /** @var string $url */
        $url = \str_replace('www.', '', $url);
        $domains = explode('.', $url);
        if (\count($domains) < 3) {
            return '';
        }

        return idn_to_utf8(array_reverse($domains)[2], 0, INTL_IDNA_VARIANT_UTS46);
    }
public static function getSubdomain ( string $ url = null ) : string { if ( ! $ url ) { $ url = ( string ) $ _SERVER [ 'HTTP_HOST' ] ; } $ url = parse_url ( $ url , PHP_URL_HOST ) ?? $ url ; /** @var string $url */ $ url = \ str_replace ( 'www.' , '' , $ url ) ; $ domains = explode ( '.' , $ url ) ; if ( \ count ( $ domains ) < 3 ) { return '' ; } return idn_to_utf8 ( array_reverse ( $ domains ) [ 2 ] , 0 , INTL_IDNA_VARIANT_UTS46 ) ; }
Возвращает домен 3-го уровня

@param string|null $url - URL для выделения поддомена

@return string
Возвращает домен 3 - го уровня