parse_url()PHP很奇怪

Djo*_*jos 7 php parsing parse-url

我正在尝试使用parse_url从url获取主机.但在某些查询中,我得到空的结果.这是我的功能:

function clean_url($urls){
    $good_url=array();
    for ($i=0;$i<count($urls);$i++){
        $url=parse_url($urls[$i]);

       //$temp_string=str_replace("http://", "", $urls[$i]);
       //$temp_string=str_replace("https://", "", $urls[$i]);
       //$temp_string=substr($temp_string, 0,stripos($temp_string,"/"));
       array_push($good_url, $url['host']);
    }
    return $good_url;
}
Run Code Online (Sandbox Code Playgroud)

输入数组:

Array ( 
    [0] => https://en.wikipedia.org/wiki/Data 
    [1] => data.gov.ua/ 
    [2] => e-data.gov.ua/ 
    [3] => e-data.gov.ua/transaction 
    [4] => https://api.jquery.com/data/ 
    [5] => https://api.jquery.com/jquery.data/ 
    [6] => searchdatamanagement.techtarget.com/definition/data 
    [7] => www.businessdictionary.com/definition/data.html  
    [8] => https://data.world/ 
    [9] => https://en.oxforddictionaries.com/definition/data 
)
Run Code Online (Sandbox Code Playgroud)

结果数组为空结果

Array ( 
    [0] => en.wikipedia.org 
    [1] => 
    [2] => 
    [3] => 
    [4] => api.jquery.com 
    [5] => api.jquery.com 
    [6] => 
    [7] => 
    [8] => data< 
    [9] => en.oxforddictionaries.com 
)
Run Code Online (Sandbox Code Playgroud)

小智 6

一些$urls正在被解析的方法没有导致parse_url将主机识别为路径的方案.

例如,解析url data.gov.ua/将返回data.gov.ua/路径.例如https,将该方案添加到该URL,以便它https://data.gov.ua/可以parse_url识别data.gov.ua/为主机.