parse_url为url返回空字符串:'www.example.com'

时间:2012-02-29 14:51:33

标签: php url

为什么parse_url在这种情况下返回空字符串?

<?php
$url='www.example.com';
$var= parse_url($url,PHP_URL_HOST);
print_r($var);

3 个答案:

答案 0 :(得分:2)

这是因为www.vtechpcsupport.com实际上并不是一个网址,因为它错过了scheme部分(HTTP左右),请尝试这样:

$url = 'http://www.vtechpcsupport.com';
$var = parse_url($url,PHP_URL_HOST);
print($var);

答案 1 :(得分:2)

该字符串被解释为 relative URL

// print_r(parse_url('www.vtechpcsupport.com'))
Array
(
    [path] => www.vtechpcsupport.com
)  

答案 2 :(得分:1)

这是因为www.vtechpcsupport.com不是完整的网址。

您正在指定PHP_URL_HOST,因此该函数尝试仅提取URL的主机部分,这不存在,因为没有给出协议,URL被视为相对的 - 所以您希望成为主机名被解释为(相对)路径。

尝试使用:

$url='http://www.vtechpcsupport.com';

你应该得到你期望的行为。