protected function parseUrl($url)
    {
        $this->info = self::parse($url);

        if (isset($this->info['path'])) {
            $this->setPath($this->info['path']);
        }

        if (empty($this->info['query'])) {
            $this->info['query'] = [];

            return;
        }

        // Fix dots and other characters used in query's variables names
        // https://github.com/oscarotero/Embed/issues/101
        $queryString = preg_replace_callback('/(^|(?<=&))[^=[&]+/', function ($key) {
            return bin2hex(urldecode($key[0]));
        }, $this->info['query']);

        parse_str($queryString, $query);

        $this->info['query'] = [];

        foreach ((array) $query as $key => $value) {
            $this->info['query'][hex2bin($key)] = $value;
        }
    }
protected function parseUrl($url)
    {
        $this->info = self::parse($url);

        if (isset($this->info['path'])) {
            $this->setPath($this->info['path']);
        }

        if (empty($this->info['query'])) {
            $this->info['query'] = [];

            return;
        }

        // Fix dots and other characters used in query's variables names
        // https://github.com/oscarotero/Embed/issues/101
        $queryString = preg_replace_callback('/(^|(?<=&))[^=[&]+/', function ($key) {
            return bin2hex(urldecode($key[0]));
        }, $this->info['query']);

        parse_str($queryString, $query);

        $this->info['query'] = [];

        foreach ((array) $query as $key => $value) {
            $this->info['query'][hex2bin($key)] = $value;
        }
    }
protected function parseUrl ( $ url ) { $ this -> info = self :: parse ( $ url ) ; if ( isset ( $ this -> info [ 'path' ] ) ) { $ this -> setPath ( $ this -> info [ 'path' ] ) ; } if ( empty ( $ this -> info [ 'query' ] ) ) { $ this -> info [ 'query' ] = [ ] ; return ; } // Fix dots and other characters used in query's variables names // https://github.com/oscarotero/Embed/issues/101 $ queryString = preg_replace_callback ( '/(^|(?<=&))[^=[&]+/' , function ( $ key ) { return bin2hex ( urldecode ( $ key [ 0 ] ) ) ; } , $ this -> info [ 'query' ] ) ; parse_str ( $ queryString , $ query ) ; $ this -> info [ 'query' ] = [ ] ; foreach ( ( array ) $ query as $ key => $ value ) { $ this -> info [ 'query' ] [ hex2bin ( $ key ) ] = $ value ; } }
Parse an url and split into different pieces.

@param string $url The url to parse
Parse an url and split into different pieces .