Есть встроенный способ в PHP для синтаксического анализа такой строки: '/path/to/../../up/something.txt'

Так сказать, у меня есть строка, подобная пути

$path = '/path/to/../../up/something.txt'; 

Есть ли способ, встроенный в PHP, для его анализа и создания URL-адреса без загрузки каталогов (../)?

Например

 $path = parsePath('/path/to/../../up/something.txt'); // /up/something.txt 

 realpath($path); 

Документы

PHP- realpath() PHP realpath() классный, но что, если вы хотите понять его, не обращаясь к файловой системе?

Я написал эту функцию, которая может возвращать путь с ../ и т. П., Рассчитанный на реальный путь.

Вероятно, он не обрабатывает все команды пути, поэтому дайте мне знать, если вы думаете, что я должен реализовать другой.

 public function resolvePath($path) { while (strstr($path, '../')) { $path = preg_replace('/\w+\/\.\.\//', '', $path); } return $path; } 

Регулярное выражение, которое я заимствовал у этого пользователя, внесло свой вклад .