mirror of
https://github.com/YGGverse/yo-tools-php.git
synced 2025-01-13 16:37:57 +00:00
delegate link tools to yggverse/net library
This commit is contained in:
parent
eab9343b2d
commit
2cce1b03e4
43
src/Link.php
43
src/Link.php
@ -1,43 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Yggverse\YoTools;
|
||||
|
||||
class Link
|
||||
{
|
||||
public static function relative2absolute(
|
||||
string $source, // current document url to grab the base
|
||||
string $target, // relative or absolute link
|
||||
?string &$scheme = null,
|
||||
?string &$host = null,
|
||||
?int &$port = null
|
||||
): string
|
||||
{
|
||||
if (!parse_url($target, PHP_URL_HOST))
|
||||
{
|
||||
$scheme = parse_url($source, PHP_URL_SCHEME);
|
||||
$host = parse_url($source, PHP_URL_HOST);
|
||||
$port = parse_url($source, PHP_URL_PORT);
|
||||
|
||||
return $scheme . '://' . $host . ($port ? ':' . $port : null) .
|
||||
'/' .
|
||||
trim(
|
||||
ltrim(
|
||||
str_replace(
|
||||
[
|
||||
'./',
|
||||
'../'
|
||||
],
|
||||
'',
|
||||
$target
|
||||
),
|
||||
'/'
|
||||
),
|
||||
'.'
|
||||
);
|
||||
}
|
||||
|
||||
return $target;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user