PHP parse_url不适用于数组元素

时间:2016-03-05 07:43:51

标签: php

<?php
    $urls = file('urls.txt');
    foreach ($urls as $url) {
        print(parse_url($url));
    }
?>

parse_url将string作为参数,但不使用类型为string的数组元素。我该怎么办?

2 个答案:

答案 0 :(得分:3)

字符串和string类型的数组元素之间没有区别。

您的问题很可能是file()默认情况下在每个数组元素中包含文件中每行末尾的换行符。参见:

http://php.net/manual/en/function.file.php

您将需要使用FILE_IGNORE_NEW_LINES使其不这样做(有关详细信息,请参阅链接)

答案 1 :(得分:0)

阅读文件时可以采用不同的方法。举个例子:

$fp = fopen('urls.txt', 'r');
while(($buffer = fgets($fp, 1024)) != NULL){
   //where 1024 is maximum length of each line in file
    if(gettype($buffer) == 'string'){
        echo "$buffer\n";
    }
}
fclose($fp);

希望这会对你有所帮助。