Как получить базовый URL внешнего сайта - PullRequest
6 голосов
/ 24 февраля 2012

Я использую cURL для возврата данных с внешних сайтов.Как я могу вернуть базовый URL сайта с PHP?

Например, у меня есть этот URL: http://www.bestbuy.com/site/Insignia%26%23153%3B+-+55%22+Class+/+1080p+/+120Hz+/+LCD+HDTV/2009148.p?id=1218317000232&skuId=2009148

Я просто хочу http://www.bestbuy.com

Спасибо!

Ответы [ 3 ]

14 голосов
/ 24 февраля 2012


$url = "http://www.bestbuy.com/site/Insignia%26%23153%3B+-+55%22+Class+/+1080p+/+120Hz+/+LCD+HDTV/2009148.p?id=1218317000232&skuId=2009148";
echo "";
print_r(parse_url($url));</p>

<p>//Would give you
Array
(
    [scheme] => http
    [host] => www.bestbuy.com
    [path] => /site/Insignia%26%23153%3B+-+55%22+Class+/+1080p+/+120Hz+/+LCD+HDTV/2009148.p
    [query] => id=1218317000232&skuId=2009148
)

2 голосов
/ 24 февраля 2012

использовать parse_url

http://php.net/manual/en/function.parse-url.php

0 голосов
/ 24 февраля 2012

REGEX:)

используйте это (не уверен, что он будет работать на php, но вы можете немного изменить его при необходимости)

/^((?:http:\/\/|https:\/\/)?(?:.+?))(?:\s*$|\/.*$)/

, так что при желании это будет совпадать с http: // или https: // (знак? После \/\/)), затем будет ленивое совпадение до конца строки или до /, если существует

и ваш желаемый URL находится в первой группе захвата

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

  • первый: полный URL
  • секунда: параметры
  • третье: протокол
  • четвертый: домен
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...