我正在尝试使用 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;
}
输入数组:
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
)
结果数组为空结果
Array (
[0] => en.wikipedia.org
[1] =>
[2] =>
[3] =>
[4] => api.jquery.com
[5] => api.jquery.com
[6] =>
[7] =>
[8] => data<
[9] => en.oxforddictionaries.com
)
最佳答案
一些正在解析的 $urls
没有导致 parse_url
将主机识别为路径的方案。
例如,解析url data.gov.ua/
返回路径为data.gov.ua/
。添加方案,例如https
到该 url 所以它是 https://data.gov.ua/
将允许 parse_url
识别 data.gov.ua/
作为宿主。
关于php - parse_url() PHP 工作异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41307354/