如何获取外部网站的基本URL

7
我正在使用cURL从外部网站返回数据。如何使用PHP返回网站的基本URL?
例如,我有这个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个回答

16


$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));

//会给你一个数组 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 )



0

正则表达式 :)

使用这个(不确定它是否适用于 PHP,但如果需要,您可以稍微修改它)

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

这将可选匹配 http:// 或 https://(在 \/\/ 后面加上 ? 号),然后进行懒惰匹配,直到行末或存在 / 为止。

您所需的 URL 在第一个捕获组中。

可选地,您可以在正则表达式中的任何位置省略 ?: 并且您可以获得:

  • 第一项:完整的 URL
  • 第二项:参数
  • 第三项:协议
  • 第四项:域名

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接