/absolute-url-deriver

Derive a full absolute URL from a given relative URL and a given source URL.

Primary LanguagePHPMIT LicenseMIT

Absolute URL deriver Build Status

Overview

Derives absolute URL from relative and source URLs.

Useful when:

  • extracting full HREF URLs for links in a HTML document
  • determining absolute new URL for a 301 redirect where the HTTP server returned a relative Location value

Usage

The "Hello World" example

<?php
use webignition\AbsoluteUrlDeriver\AbsoluteUrlDeriver;
use webignition\Uri\Uri;

$base = 'https://example.com';
$relative = '/path?query#fragment';

$this->assertEquals(
    'https://example.com/path?query#fragment', 
    AbsoluteUrlDeriver::derive(new Uri($base), new Uri($relative))
);

Building

Using as a library in a project

If used as a dependency by another project, update that project's composer.json and update your dependencies.

"require": {
    "webignition/absolute-url-deriver": ">=3,<4"      
}

Developing

This project has external dependencies managed with composer. Get and install this first.

# Make a suitable project directory
mkdir ~/absolute-url-deriver && cd ~/absolute-url-deriver

# Clone repository
git clone git@github.com:webignition/absolute-url-deriver.git .

# Retrieve/update dependencies
composer install

Testing

Have look at the project on travis for the latest build status, or give the tests a go yourself.

cd ~/absolute-url-deriver
phpunit tests