Скажем, у нас есть строка
url = "http://example.com/foo/baz/../../."
Очевидно, что из оболочки Unix мы знаем, что ../../.
по сути означает переход на две директории вверх.Следовательно, этот URL действительно будет http://example.com/
.Мой вопрос заключается в том, что, учитывая эти ../
символов в строке, как мы можем очистить строку URL-адреса, чтобы она указала на фактический ресурс?
Например:
url = "http://example.com/foo/baz/../../hello.html"
url = process(url)
url = "http://example.com/hello.html"
Другой:
url = "http://example.com/foo/baz/../."
url = process(url)
url = "http://example.com/foo/"
Имейте в виду, что функция по-прежнему может принимать обычные URL-адреса (т. Е. http://example.com
) и возвращать их как есть, если нет ничего для очистки