sabre/uri is a lightweight library that provides several functions for working with URIs, staying true to the rules of RFC3986.

Partially inspired by Node.js URL library, and created to solve real problems in PHP applications. 100% unit-tested and many tests are based on examples from RFC3986.

The library provides the following functions:

  1. resolve to resolve relative urls.
  2. normalize to aid in comparing urls.
  3. parse, which works like PHP's parse_url.
  4. build to do the exact opposite of parse.
  5. split to easily get the 'dirname' and 'basename' of a URL without all the problems those two functions have.

Further reading