为什么parse_url在这种情况下返回空字符串?
<?php
$url='www.example.com';
$var= parse_url($url,PHP_URL_HOST);
print_r($var);
字符串被解释为相对URL:
// print_r(parse_url('www.vtechpcsupport.com'))
Array
(
[path] => www.vtechpcsupport.com
)
这是因为www.vtechpcsupport.com
并不是真正的URL,因为它缺少scheme
部分(HTTP
左右),请这样尝试:
$url = 'http://www.vtechpcsupport.com';
$var = parse_url($url,PHP_URL_HOST);
print($var);
这是因为www.vtechpcsupport.com不是一个完整的URL。
您正在指定PHP_URL_HOST,因此函数试图仅提取URL的主机部分,如果没有给定的协议,该部分就不存在——URL被视为相对的——因此您想要的主机名被解释为(相对)路径。
尝试使用:
$url='http://www.vtechpcsupport.com';
你应该得到你期望的行为。