Есть ли существовавшая ранее функция или класс для нормализации URL в PHP?
В частности, следуя правилам нормализации семантического сохранения, изложенным в этой статье Википедии о нормализации URL (или что-то вроде «стандартного», я должен следовать).
Прямо сейчас, я думаю, что я просто использую parse_url()
и применяю правила отдельно, но я бы предпочел не изобретать колесо.
Библиотека Pear Net_URL2 выглядит так, как будто она сделает хотя бы часть того, что вы хотите. Это позволит удалить сегменты точек, исправить капитализацию и избавиться от порта по умолчанию:
include("Net/URL2.php"); $url = new Net_URL2('HTTP://example.com:80/a/../b/c'); print $url->getNormalizedURL();
вinclude("Net/URL2.php"); $url = new Net_URL2('HTTP://example.com:80/a/../b/c'); print $url->getNormalizedURL();
выделяет:
http://example.com/b/c
Я сомневаюсь, что существует механизм общего назначения для добавления косых черт к каталогам, потому что вам нужен способ сопоставления URL-адресов с каталогами, которые сложнее делать в общем виде. Но это близко.
Рекомендации: