fgets读取文件并存储到变量中

时间:2019-02-06 01:47:46

标签: php

我在 result.txt 文件中有多个URL。我想将第一个URL与fgets一起使用。

问题是fget无法将值传递给 file_get_html 进行下一步。

  $ file = fopen(“ result.txt”,“ r”);
$ link = fgets($ file);
// echo fgets($ file); //在这里我成功获得了URL

$ html = file_get_html($ link); //问题,未接收到URL

foreach($ html-> find('。singcont a')as $ a){
    $ links = $ a-> href;
    回声$链接;
}
 

如何将 $ link 值传递给 file_get_html 吗?

  

如果我以这种方式使用它,则 $ html = file_get_html('http://example.com/');

2 个答案:

答案 0 :(得分:1)

我猜您在返回的$link字符串的末尾有换行符或其他字符。

var_dump($link);

它可能会输出如下所示的字符串:

string(19) "http://example.com
"

要解决此问题,您可以使用 trim() substr()

  

修剪(( string $ str [, string $ character_mask > =“   \ t \ n \ r \ 0 \ x0B“]):字符串

$link = trim($link);
  

substr string $ string int $ start [, int    $ length ]):字符串

$link = substr($link, 0, -1);

PHP Manualtrim()substr()

答案 1 :(得分:-1)

您可以将$html = file_get_html($link);放入for循环中,因此您的代码将类似于:

$file = fopen("result.txt","r");
$link = fgets($file);
// echo fgets($file);       // Here I get URL successfully 

foreach($html->find('.singcont a') as $a) {
    $links = $a->href;
    $html = file_get_html($link);
    echo $links;
}
相关问题