Thread: URL Implode
View Single Post
Old 12-26-2005, 04:10 PM   PM User | #3
gsnedders
Senior Coder

 
gsnedders's Avatar
 
Join Date: Jan 2004
Posts: 2,340
Thanks: 1
Thanked 7 Times in 7 Posts
gsnedders will become famous soon enough
New version:
PHP Code:
function cleanup_url($url)
{
    
$parsed parse_url($url);
    
$output '';
    if (isset(
$parsed['scheme']))
        
$output .= "$parsed[scheme]://";
    else
        
$output .= 'http://';
    if (isset(
$parsed['user']) && isset($parsed['pass']))
        
$output .= "$parsed[user]:$parsed[pass]@";
    elseif (isset(
$parsed['user']))
        
$output .= "$parsed[user]@";
    if (isset(
$parsed['host']))
        
$output .= rawurlencode(rawurldecode($parsed['host']));
    if (isset(
$parsed['path']))
        
$output .= "$parsed[path]";
    else
        
$output .= '/';
    if (isset(
$parsed['query']))
        
$output .= '?' urlencode(urldecode($parsed['query']));
    if (isset(
$parsed['fragment']))
        
$output .= "#$parsed[fragment]";
    if (isset(
$parsed['scheme']))
        return 
$output;
    else
        return 
cleanup_url($output);

What's new:
  • If no scheme is specified (eg. http, https, ftp) "http" is assumed
  • If no path is specified (eg. /newreply.php) "/" is assumed
__________________
Geoffrey Sneddon
gsnedders is offline   Reply With Quote