$domainArray = explode('.', $_SERVER['HTTP_REFERER']);
$domainname = $domainArray[1];
我必须在网站的许多页面上运行这两行代码 - 上面的代码工作正常。
我想将其更改为一行并尝试多次失败。
有什么想法吗?
答案 0 :(得分:3)
使用PHP 5.4你可以写:
$domainArray = explode('.', $_SERVER['HTTP_REFERER'])[1]
你也可以写这样的功能
function getByIndex($array, $index) {
return $array[$index];
}
$domainname = getByIndex(explode('.', $_SERVER['HTTP_REFERER']), 1);
答案 1 :(得分:3)
这适用于PHP< 5.4:
list(,$domainname) = explode('.', $_SERVER['HTTP_REFERER']);
答案 2 :(得分:1)
我只是让它成为一个函数并让它返回域名...
答案 3 :(得分:1)
PHP< 5.4
// 2 is the index of the element you want to access
current(array_slice(explode(",", $input), 2, 1)));
答案 4 :(得分:1)
这不完全相同,因为: -yours剥离最左边的子域 - 如果没有子域,则返回tld
反正
echo $host = parse_url($_SERVER['HTTP_REFERRER'], PHP_URL_HOST);