original_string: 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] : '';
  
      }
code: 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] : '';
  
      }
code_tokens: 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 ] : '' ; }
docstring: 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
docstring_tokens: Parse the scheme - specific portion of the URI and place its parts into instance variables .