3v4l.org

run code in 300+ PHP versions simultaneously
<?php $strings = ["folders/folder1/folder5/../../folder2", "folders/folder1/../../../folder2", "folders/folder1/folder5/../folder2"]; foreach ($strings as $url) { $count = 0; do { $url = preg_replace('~(?<![^/])(?!\.\.(?![^/]))[^/]+/\.\.(?:/|$)~', '', $url, -1, $count); } while ($count > 0); echo "$url" . PHP_EOL; }

preferences:
83.95 ms | 404 KiB | 5 Q