php - parse_url() PHP 工作异常

标签 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;
}

输入数组:

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/

相关文章:

php - 使用 php 将文本文件转换为 xml?

php - Yii2 命名空间自动加载器找不到复制的文件

php - 数据未保存在数据库 cakephp 中

java - XSLT 的替代品?

java - 如何将新节点附加到现有 xml 文件

php - 如何知道哪个文件正在初始化对象?

c - 解析 iCal 文件的提示

PHP:从字符串中的 URL 中删除 'WWW'

php parse_url reverse -- 解析后的 url

php - parse_url() 在传递 example.com 时返回错误