鉴于此变量:
$variable = foo.com/bar/foo
将f变量修改为foo.com的功能是什么?
编辑:我希望该函数能够修剪可能在域名之后的URL上的任何内容。
提前致谢,
约翰
答案 0 :(得分:3)
为OP工作:
$host = parse_url($url, PHP_URL_HOST);
我必须使用的PHP版本不接受两个参数(Zend Engine 1.3.0)。随你。这是我的工作代码 - 你必须拥有完整的URL ,包括方案(http://)。如果您可以安全地假设该方案是http://(而不是https://或其他方式),您可以将其添加到前面以获得所需内容。
为我工作:
$url = 'http://foo.com/bar/foo';
$parts = parse_url($url);
$host = $parts['host'];
echo "The host is $host\n";
答案 1 :(得分:0)
我在我的示例中使用http://www.google.com/asdf
如果您也可以获得子域名,则可以按“//”拆分并使用第1个元素有效删除协议并获取www.google.com/asdf
然后你可以用“/”拆分并得到第0个元素。
这看起来很难看。只是在这里头脑风暴=)
答案 2 :(得分:0)
试试这个:
function getDomain($url)
{
if(filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED) === FALSE)
{
return false;
}
/*** get the url parts ***/
$parts = parse_url($url);
/*** return the host domain ***/
return $parts['scheme'].'://'.$parts['host'];
}
$variable = 'foo.com/bar/foo';
echo getDomain($variable);
答案 3 :(得分:0)
你可以使用php的parse_url函数,然后访问键“host”的值来获取主机名