Извлечь схему и хост из HTTP_REFERER

У меня есть $_SERVER['HTTP_REFERER'] – притворяйтесь, что это http://example.com/i/like/turtles.html . Что мне нужно сделать, чтобы получить только часть http://example.com из строки и сохранить ее в своей переменной?

В этом примере лучшим решением было бы использовать метод parse_url PHP. Это разбивает URL-адрес на ассоциативный массив. Затем вы создадите свое окончательное значение, объединив scheme с host :

 if ( $parts = parse_url( "http://example.com/i/like/turtles.html" ) ) { echo $parts[ "scheme" ] . "://" . $parts[ "host" ]; } 

Я бы использовал parse_url следующим образом …

 if ($urlParts = parse_url($myURI)) $baseUrl = $urlParts["scheme"] . "://" . $urlParts["host"]; 

Вы должны иметь возможность использовать функцию parse_url для достижения этого

Вы можете использовать регулярное выражение:

 if (isset($_SERVER['HTTP_REFERER']) && preg_match('@^[^/]+://[^/]+@', $_SERVER['HTTP_REFERER'], $match)) { var_dump($match[0]); } 

Или вы можете использовать функцию parse_url .