src/Request.php
public function domains(int $offset = null)
    {
        // 先去除端口部分
        $d = explode(':', $_SERVER['HTTP_HOST']);

        // 分段
        $d = explode('.', $d[0]);

        // 个数
        $l = count($d);

        // CN的时候,最后一段合起来
        if ($d[$l - 1] == 'cn') {
            $d[$l - 2] .= '.cn';
            unset($d[$l - 1]);
        }

        // 反转 , 0表示 .com/.edu.cn/.net之类,1表示站点名
        $domains = array_reverse($d);

        // 不足三段,补充www
        if (!isset($domains[2])) {
            $domains[2] = 'www';
        }

        // 后面没有的补充空字符串,以免以后访问时出错
        for ($i = 3; $i < 10; $i++) {
            if (!isset($domains[$i])) {
                $domains[$i] = '';
            }
        }

        //如果要求只返回指定部分
        if (!is_null($offset)) {
            return $domains[$offset];
        }

        //返回全部
        return $domains;
    }
public function domains(int $offset = null)
    {
        // 先去除端口部分
        $d = explode(':', $_SERVER['HTTP_HOST']);

        // 分段
        $d = explode('.', $d[0]);

        // 个数
        $l = count($d);

        // CN的时候,最后一段合起来
        if ($d[$l - 1] == 'cn') {
            $d[$l - 2] .= '.cn';
            unset($d[$l - 1]);
        }

        // 反转 , 0表示 .com/.edu.cn/.net之类,1表示站点名
        $domains = array_reverse($d);

        // 不足三段,补充www
        if (!isset($domains[2])) {
            $domains[2] = 'www';
        }

        // 后面没有的补充空字符串,以免以后访问时出错
        for ($i = 3; $i < 10; $i++) {
            if (!isset($domains[$i])) {
                $domains[$i] = '';
            }
        }

        //如果要求只返回指定部分
        if (!is_null($offset)) {
            return $domains[$offset];
        }

        //返回全部
        return $domains;
    }
获取域名中的分段,可以指定下标
@param $offset int 下标
@return string|array