public static function absolutize($base, $relative)
	{
		if (!($relative instanceof SimplePie_IRI))
		{
			$relative = new SimplePie_IRI($relative);
		}
		if (!$relative->is_valid())
		{
			return false;
		}
		elseif ($relative->scheme !== null)
		{
			return clone $relative;
		}
		else
		{
			if (!($base instanceof SimplePie_IRI))
			{
				$base = new SimplePie_IRI($base);
			}
			if ($base->scheme !== null && $base->is_valid())
			{
				if ($relative->get_iri() !== '')
				{
					if ($relative->iuserinfo !== null || $relative->ihost !== null || $relative->port !== null)
					{
						$target = clone $relative;
						$target->scheme = $base->scheme;
					}
					else
					{
						$target = new SimplePie_IRI;
						$target->scheme = $base->scheme;
						$target->iuserinfo = $base->iuserinfo;
						$target->ihost = $base->ihost;
						$target->port = $base->port;
						if ($relative->ipath !== '')
						{
							if ($relative->ipath[0] === '/')
							{
								$target->ipath = $relative->ipath;
							}
							elseif (($base->iuserinfo !== null || $base->ihost !== null || $base->port !== null) && $base->ipath === '')
							{
								$target->ipath = '/' . $relative->ipath;
							}
							elseif (($last_segment = strrpos($base->ipath, '/')) !== false)
							{
								$target->ipath = substr($base->ipath, 0, $last_segment + 1) . $relative->ipath;
							}
							else
							{
								$target->ipath = $relative->ipath;
							}
							$target->ipath = $target->remove_dot_segments($target->ipath);
							$target->iquery = $relative->iquery;
						}
						else
						{
							$target->ipath = $base->ipath;
							if ($relative->iquery !== null)
							{
								$target->iquery = $relative->iquery;
							}
							elseif ($base->iquery !== null)
							{
								$target->iquery = $base->iquery;
							}
						}
						$target->ifragment = $relative->ifragment;
					}
				}
				else
				{
					$target = clone $base;
					$target->ifragment = null;
				}
				$target->scheme_normalization();
				return $target;
			}

			return false;
		}
	}
public static function absolutize($base, $relative)
	{
		if (!($relative instanceof SimplePie_IRI))
		{
			$relative = new SimplePie_IRI($relative);
		}
		if (!$relative->is_valid())
		{
			return false;
		}
		elseif ($relative->scheme !== null)
		{
			return clone $relative;
		}
		else
		{
			if (!($base instanceof SimplePie_IRI))
			{
				$base = new SimplePie_IRI($base);
			}
			if ($base->scheme !== null && $base->is_valid())
			{
				if ($relative->get_iri() !== '')
				{
					if ($relative->iuserinfo !== null || $relative->ihost !== null || $relative->port !== null)
					{
						$target = clone $relative;
						$target->scheme = $base->scheme;
					}
					else
					{
						$target = new SimplePie_IRI;
						$target->scheme = $base->scheme;
						$target->iuserinfo = $base->iuserinfo;
						$target->ihost = $base->ihost;
						$target->port = $base->port;
						if ($relative->ipath !== '')
						{
							if ($relative->ipath[0] === '/')
							{
								$target->ipath = $relative->ipath;
							}
							elseif (($base->iuserinfo !== null || $base->ihost !== null || $base->port !== null) && $base->ipath === '')
							{
								$target->ipath = '/' . $relative->ipath;
							}
							elseif (($last_segment = strrpos($base->ipath, '/')) !== false)
							{
								$target->ipath = substr($base->ipath, 0, $last_segment + 1) . $relative->ipath;
							}
							else
							{
								$target->ipath = $relative->ipath;
							}
							$target->ipath = $target->remove_dot_segments($target->ipath);
							$target->iquery = $relative->iquery;
						}
						else
						{
							$target->ipath = $base->ipath;
							if ($relative->iquery !== null)
							{
								$target->iquery = $relative->iquery;
							}
							elseif ($base->iquery !== null)
							{
								$target->iquery = $base->iquery;
							}
						}
						$target->ifragment = $relative->ifragment;
					}
				}
				else
				{
					$target = clone $base;
					$target->ifragment = null;
				}
				$target->scheme_normalization();
				return $target;
			}

			return false;
		}
	}
public static function absolutize ( $ base , $ relative ) { if ( ! ( $ relative instanceof SimplePie_IRI ) ) { $ relative = new SimplePie_IRI ( $ relative ) ; } if ( ! $ relative -> is_valid ( ) ) { return false ; } elseif ( $ relative -> scheme !== null ) { return clone $ relative ; } else { if ( ! ( $ base instanceof SimplePie_IRI ) ) { $ base = new SimplePie_IRI ( $ base ) ; } if ( $ base -> scheme !== null && $ base -> is_valid ( ) ) { if ( $ relative -> get_iri ( ) !== '' ) { if ( $ relative -> iuserinfo !== null || $ relative -> ihost !== null || $ relative -> port !== null ) { $ target = clone $ relative ; $ target -> scheme = $ base -> scheme ; } else { $ target = new SimplePie_IRI ; $ target -> scheme = $ base -> scheme ; $ target -> iuserinfo = $ base -> iuserinfo ; $ target -> ihost = $ base -> ihost ; $ target -> port = $ base -> port ; if ( $ relative -> ipath !== '' ) { if ( $ relative -> ipath [ 0 ] === '/' ) { $ target -> ipath = $ relative -> ipath ; } elseif ( ( $ base -> iuserinfo !== null || $ base -> ihost !== null || $ base -> port !== null ) && $ base -> ipath === '' ) { $ target -> ipath = '/' . $ relative -> ipath ; } elseif ( ( $ last_segment = strrpos ( $ base -> ipath , '/' ) ) !== false ) { $ target -> ipath = substr ( $ base -> ipath , 0 , $ last_segment + 1 ) . $ relative -> ipath ; } else { $ target -> ipath = $ relative -> ipath ; } $ target -> ipath = $ target -> remove_dot_segments ( $ target -> ipath ) ; $ target -> iquery = $ relative -> iquery ; } else { $ target -> ipath = $ base -> ipath ; if ( $ relative -> iquery !== null ) { $ target -> iquery = $ relative -> iquery ; } elseif ( $ base -> iquery !== null ) { $ target -> iquery = $ base -> iquery ; } } $ target -> ifragment = $ relative -> ifragment ; } } else { $ target = clone $ base ; $ target -> ifragment = null ; } $ target -> scheme_normalization ( ) ; return $ target ; } return false ; } }
Create a new IRI object by resolving a relative IRI

Returns false if $base is not absolute, otherwise an IRI.

@param IRI|string $base (Absolute) Base IRI
@param IRI|string $relative Relative IRI
@return IRI|false
Create a new IRI object by resolving a relative IRI