我在 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/');
答案 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);
答案 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;
}