PHP url 相关的两个函数

1. 对 url 参数进行排序

    public function sortUri($uri)
    {
        $parse = [
            'scheme'=>'',
            'host'=>'',
            'user'=>'',
            'pass'=>'',
            'path'=>'',
            'query'=>'',
            'fragment'=>''
        ];
        $parse = array_merge($parse, parse_url($uri));
        parse_str($parse['query'], $query);
        ksort($query);
        $parse['query'] = http_build_query($query);

        return $this->build_url($parse);
    }

2. 逆向 parse_url 生成 url

    public function build_url($parse)
    {
        $res = '';
        if (!empty($parse['scheme']))
            $res .= $parse['scheme'] . '://';
        if (!empty($parse['user']))
            $res .= $parse['user'];
        if (!empty($parse['pass']))
            $res .= ':' . $parse['pass'];
        if (!empty($parse['user']))
            $res .= '@';
        if (!empty($parse['host']))
            $res .= $parse['host'];
        if (!empty($parse['path']))
            $res .= $parse['path'];
        if (!empty($parse['query']))
            $res .= '?' . $parse['query'];
        if (!empty($parse['fragment']))
            $res .= '#' . $parse['fragment'];

        return $res;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,049评论 19 139
  • PHP常用函数大全 usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解...
    上街买菜丶迷倒老太阅读 1,392评论 0 20
  • php usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解包。 uni...
    思梦PHP阅读 2,041评论 1 24
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399
  • 艾草飘香,埋在沙子底下的龙舟重见天日,古镇的老桥也日渐恢复活力,旧街的两旁摆放了许多青翠的粽叶,成捆的粽叶弥散一阵...
    墨迹书香阅读 281评论 0 0