note 85963 modified in function.parse-url by danbrown
| From: | danbrown@php.net | Date: | Fri, 26 Sep 2008 13:52:09 +0000 |
| Subject: | note 85963 modified in function.parse-url by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-144749@lists.php.net to get a copy of this message | ||
Here is an update to the glue_url() function.
It can now handle relative URLs if only 'path' is provided.
<?php
function glue_url($parsed) {
if (!is_array($parsed)) {
return false;
}
$uri = isset($parsed['scheme']) ?
$parsed['scheme'].':'.((strtolower($parsed['scheme']) ==
'mailto') ? '' : '//') : '';
$uri .= isset($parsed['user']) ?
$parsed['user'].(isset($parsed['pass']) ?
':'.$parsed['pass'] : '').'@' : '';
$uri .= isset($parsed['host']) ? $parsed['host'] : '';
$uri .= isset($parsed['port']) ? ':'.$parsed['port'] :
'';
if (isset($parsed['path'])) {
$uri .= (substr($parsed['path'], 0, 1) == '/') ?
$parsed['path'] : ((!empty($uri) ? '/' : '' ) .
$parsed['path']);
}
$uri .= isset($parsed['query']) ? '?'.$parsed['query'] :
'';
$uri .= isset($parsed['fragment']) ? '#'.$parsed['fragment'] :
'';
return $uri;
}
?>
--was--
Here is an update to the glue_url() function.
It can now handle relative URLs if only 'path' is provided.
function glue_url($parsed) {
if (!is_array($parsed)) {
return false;
}
$uri = isset($parsed['scheme']) ?
$parsed['scheme'].':'.((strtolower($parsed['scheme']) ==
'mailto') ? '' : '//') : '';
$uri .= isset($parsed['user']) ?
$parsed['user'].(isset($parsed['pass']) ?
':'.$parsed['pass'] : '').'@' : '';
$uri .= isset($parsed['host']) ? $parsed['host'] : '';
$uri .= isset($parsed['port']) ? ':'.$parsed['port'] :
'';
if (isset($parsed['path'])) {
$uri .= (substr($parsed['path'], 0, 1) == '/') ?
$parsed['path'] : ((!empty($uri) ? '/' : '' ) .
$parsed['path']);
}
$uri .= isset($parsed['query']) ? '?'.$parsed['query'] :
'';
$uri .= isset($parsed['fragment']) ? '#'.$parsed['fragment'] :
'';
return $uri;
}
http://php.net/manual/en/function.parse-url.php