3v4l.org

run code in 300+ PHP versions simultaneously
<?php function path_components($path) { $components = array(); while ($path != "." && $path != "/") { array_unshift($components, basename($path)); $path = dirname($path); } if ($path == "/") array_unshift($components, "/"); return $components; } function path_relative_to($path, $rel) { $path_components = path_components($path); $copy = $path_components; $rel_components = path_components($rel); for($i = 0 ; $i < count($rel_components) ; ++$i) { if ($path_components[$i] == $rel[$i]) array_shift($copy); else break; } return $copy; } var_dump(path_relative_to("/a/b/c", "/"));

preferences:
66.84 ms | 402 KiB | 5 Q