like this
function simplify($path) {
$r = array();
foreach(explode('/', $path) as $p) {
if($p == '..')
array_pop($r);
else if($p != '.' && strlen($p))
$r[] = $p;
}
$r = implode('/', $r);
if($path[0] == '/') $r = "/$r";
return $r;
}
and this is how you use it
$u = parse_url($dirtyUrl);
$u['path'] = simplify($u['path']);
$clean_url = "{$u['scheme']}://{$u['host']}{$u['path']}";
source
share