34        $semicolon_pos = strrpos($uri->path, 
';'); 
 
   35        if ($semicolon_pos !== 
false) {
 
   36            $type = substr($uri->path, $semicolon_pos + 1); 
 
   37            $uri->path = substr($uri->path, 0, $semicolon_pos);
 
   39            if (strpos(
$type, 
'=') !== 
false) {
 
   41                list(
$key, $typecode) = explode(
'=', 
$type, 2);
 
   42                if (
$key !== 
'type') {
 
   44                    $uri->path .= 
'%3B' . 
$type;
 
   45                } elseif ($typecode === 
'a' || $typecode === 
'i' || $typecode === 
'd') {
 
   46                    $type_ret = 
";type=$typecode";
 
   49                $uri->path .= 
'%3B' . 
$type;
 
   51            $uri->path = str_replace(
';', 
'%3B', $uri->path);
 
   52            $uri->path .= $type_ret;
 
An exception for terminatinating execution or to throw for unit testing.
Validates ftp (File Transfer Protocol) URIs as defined by generic RFC 1738.
doValidate(&$uri, $config, $context)
Validator for the components of a URI for a specific scheme.