thirdparty/Zend/Uri/Http.php
protected function _parseUri($schemeSpecific)
    {
        // High-level decomposition parser
        $pattern = '~^((//)([^/?#]*))([^?#]*)(\?([^#]*))?(#(.*))?$~';
        $status  = @preg_match($pattern, $schemeSpecific, $matches);
        if ($status === false) {
            require_once 'Zend/Uri/Exception.php';
            throw new Zend_Uri_Exception('Internal error: scheme-specific decomposition failed');
        }

        // Failed decomposition; no further processing needed
        if ($status === false) {
            return;
        }

        // Save URI components that need no further decomposition
        $this->_path     = isset($matches[4]) === true ? $matches[4] : '';
        $this->_query    = isset($matches[6]) === true ? $matches[6] : '';
        $this->_fragment = isset($matches[8]) === true ? $matches[8] : '';

        // Additional decomposition to get username, password, host, and port
        $combo   = isset($matches[3]) === true ? $matches[3] : '';
        $pattern = '~^(([^:@]*)(:([^@]*))?@)?([^:]+)(:(.*))?$~';
        $status  = @preg_match($pattern, $combo, $matches);
        if ($status === false) {
            require_once 'Zend/Uri/Exception.php';
            throw new Zend_Uri_Exception('Internal error: authority decomposition failed');
        }

        // Failed decomposition; no further processing needed
        if ($status === false) {
            return;
        }

        // Save remaining URI components
        $this->_username = isset($matches[2]) === true ? $matches[2] : '';
        $this->_password = isset($matches[4]) === true ? $matches[4] : '';
        $this->_host     = isset($matches[5]) === true ? $matches[5] : '';
        $this->_port     = isset($matches[7]) === true ? $matches[7] : '';

    }
protected function _parseUri($schemeSpecific)
    {
        // High-level decomposition parser
        $pattern = '~^((//)([^/?#]*))([^?#]*)(\?([^#]*))?(#(.*))?$~';
        $status  = @preg_match($pattern, $schemeSpecific, $matches);
        if ($status === false) {
            require_once 'Zend/Uri/Exception.php';
            throw new Zend_Uri_Exception('Internal error: scheme-specific decomposition failed');
        }

        // Failed decomposition; no further processing needed
        if ($status === false) {
            return;
        }

        // Save URI components that need no further decomposition
        $this->_path     = isset($matches[4]) === true ? $matches[4] : '';
        $this->_query    = isset($matches[6]) === true ? $matches[6] : '';
        $this->_fragment = isset($matches[8]) === true ? $matches[8] : '';

        // Additional decomposition to get username, password, host, and port
        $combo   = isset($matches[3]) === true ? $matches[3] : '';
        $pattern = '~^(([^:@]*)(:([^@]*))?@)?([^:]+)(:(.*))?$~';
        $status  = @preg_match($pattern, $combo, $matches);
        if ($status === false) {
            require_once 'Zend/Uri/Exception.php';
            throw new Zend_Uri_Exception('Internal error: authority decomposition failed');
        }

        // Failed decomposition; no further processing needed
        if ($status === false) {
            return;
        }

        // Save remaining URI components
        $this->_username = isset($matches[2]) === true ? $matches[2] : '';
        $this->_password = isset($matches[4]) === true ? $matches[4] : '';
        $this->_host     = isset($matches[5]) === true ? $matches[5] : '';
        $this->_port     = isset($matches[7]) === true ? $matches[7] : '';

    }
protected function _parseUri ( $ schemeSpecific ) { // High-level decomposition parser $ pattern = '~^((//)([^/?#]*))([^?#]*)(\?([^#]*))?(#(.*))?$~' ; $ status = @ preg_match ( $ pattern , $ schemeSpecific , $ matches ) ; if ( $ status === false ) { require_once 'Zend/Uri/Exception.php' ; throw new Zend_Uri_Exception ( 'Internal error: scheme-specific decomposition failed' ) ; } // Failed decomposition; no further processing needed if ( $ status === false ) { return ; } // Save URI components that need no further decomposition $ this -> _path = isset ( $ matches [ 4 ] ) === true ? $ matches [ 4 ] : '' ; $ this -> _query = isset ( $ matches [ 6 ] ) === true ? $ matches [ 6 ] : '' ; $ this -> _fragment = isset ( $ matches [ 8 ] ) === true ? $ matches [ 8 ] : '' ; // Additional decomposition to get username, password, host, and port $ combo = isset ( $ matches [ 3 ] ) === true ? $ matches [ 3 ] : '' ; $ pattern = '~^(([^:@]*)(:([^@]*))?@)?([^:]+)(:(.*))?$~' ; $ status = @ preg_match ( $ pattern , $ combo , $ matches ) ; if ( $ status === false ) { require_once 'Zend/Uri/Exception.php' ; throw new Zend_Uri_Exception ( 'Internal error: authority decomposition failed' ) ; } // Failed decomposition; no further processing needed if ( $ status === false ) { return ; } // Save remaining URI components $ this -> _username = isset ( $ matches [ 2 ] ) === true ? $ matches [ 2 ] : '' ; $ this -> _password = isset ( $ matches [ 4 ] ) === true ? $ matches [ 4 ] : '' ; $ this -> _host = isset ( $ matches [ 5 ] ) === true ? $ matches [ 5 ] : '' ; $ this -> _port = isset ( $ matches [ 7 ] ) === true ? $ matches [ 7 ] : '' ; }
Parse the scheme-specific portion of the URI and place its parts into instance variables.

@param  string $schemeSpecific The scheme-specific portion to parse
@throws Zend_Uri_Exception When scheme-specific decoposition fails
@throws Zend_Uri_Exception When authority decomposition fails
@return void
Parse the scheme - specific portion of the URI and place its parts into instance variables .