Извлечь схему и хост из HTTP_REFERER
У меня $_SERVER['HTTP_REFERER']
— притворите, что это http://example.com/i/like/turtles.html. Что мне нужно сделать, чтобы получить только часть http://example.com
из строки и сохранить ее в своей переменной?
Ответы
Ответ 1
В этом примере лучшим решением будет использование PHP parse_url
method. Это разбивает URL-адрес на ассоциативный массив. Затем вы создадите свое окончательное значение, объединив scheme
с host
:
if ( $parts = parse_url( "http://example.com/i/like/turtles.html" ) ) {
echo $parts[ "scheme" ] . "://" . $parts[ "host" ];
}
Ответ 2
Я бы использовал parse_url следующим образом:
if ($urlParts = parse_url($myURI))
$baseUrl = $urlParts["scheme"] . "://" . $urlParts["host"];
Ответ 3
Вы можете использовать функцию parse_url для достижения этого
Ответ 4
Вы можете использовать регулярное выражение:
if (isset($_SERVER['HTTP_REFERER']) && preg_match('@^[^/]+://[^/][email protected]', $_SERVER['HTTP_REFERER'], $match)) {
var_dump($match[0]);
}
Или вы можете использовать функцию parse_url
.