获取URL地址的最后两个元素

时间:2015-04-19 14:30:23

标签: php offset explode

我正在尝试仅访问网站名称和域名,例如在images.google.com/thisIsJustAnExample的情况下,它将返回google.com。 这是我试图做的,

  $url = 'https://images.google.com/thisIsJustAnExample';
  $zobrazeni = array();
  $zobrazeni = parse_url($url);
  $zobrazeni["host"] = explode(".", $zobrazeni["host"]);
  $zobrazeni["host"] = $zobrazeni["host"][count($zobrazeni["host"])-2] .".". $zobrazeni["host"][count($zobrazni["host"])-1];

这就是我得到的错误:

注意:未定义的偏移量:第25行的C:\ xampp \ htdocs \ retezce.php中的-1

注意:未定义的变量:第25行的C:\ xampp \ htdocs \ retezce.php中的zobrazni

注意:未定义的偏移量:第25行的C:\ xampp \ htdocs \ retezce.php中的-1

2 个答案:

答案 0 :(得分:1)

只需使用此代码,它应该打印“google”。“com”如果这就是你的意思。 请记住,count($verb)(如果$verbarray)将返回数组中对象的数量。

$url = "http://stackoverflow.com/questions/29731201/getting-2-last-elements-of-a-url-address/29731258#29731258";
$verbs = explode('.', $url);

$domainName = explode('/', $verbs[count($verbs)-2]);
$domainExt = explode('/', $verbs[count($verbs)-1]);

echo $domainName[2] . "." . $domainExt[0];

答案 1 :(得分:0)

有几种方法可以做到这一点,但其中一种方法是:

  $url = 'https://images.google.com/thisIsJustAnExample';
  $zobrazeni = array();
  $zobrazeni = parse_url($url);
  $zobrazeni = explode(".", $zobrazeni["host"]);
  $zobrazeni =  array_reverse($zobrazeni);
  $zobrazeni = $zobrazeni[1] . ' .' . $zobrazeni[0];

或者你可以得到数组的长度并使用它而不是试图减去2。