O webu
Parsování URL v JavaScriptu

V případě, že máme URL a potřebujeme z ní JavaScriptem získat jednotlivé části jako například:

  • protokol,
  • název domény,
  • cestu k souboru,
  • parametry za otazníkem (query string),
  • hash (obsah za #)

Je řešení buď používat regulární výrazy, nebo využít toho, že všechny tyto údaje umí JavaScript snadno vytáhnout ze značky <a>.

Vytvoříme-li proto odkaz a nastavíme-li mu požadovanou URL, potřebné údaje získáme velmi elegantně.

var adresa = "http://example.com/cesta/skritp.php?promena=1#kotva";
var odkaz = document.createElement("a");
odkaz.href = adresa;

protocol

Bude dostupný ve vlastnosti odkaz.protocol, zpravidla http: nebo https: (včetně dvojtečky).

hostname

Název domény bude v odkaz.hostname.

pathname

Cesta ke skriptu – odkaz.pathname.

Obsah za otazníkem – odkaz.search.

hash

Obsah za mřížkou včetně té mřížky – odkaz.hash.

port

Získat je možné i port (je-li uveden v URL) – odkaz.port. To ale bývá velmi zřídka.

Zjednodušená ukázka pro testování ve starých prohlížečích.

Parsování URL v PHP

V jazyku PHP k parsování adres slouží funkce parse_url.