首先:我真的很喜欢这个网站,我认为这是编程的最佳论坛:)
现在我的问题,我尝试使用代码和注释显示:
$file = fopen ($URL, "r");
// $URL is a string set before, which is correct
// Also, I got the page-owners permission to acquire the page like that
if (!$file)
{
echo "<p>Could not open file.\n";
exit;
}
while (!feof ($file))
{
$buffer = fgets($file);
$buffer= strstr($buffer, "Montag</b>");
// If I don't use this line, the whole page gets displayed...
// If I use this line, only the first line after the needle gets displayed
echo $buffer;
}
fclose($file);
所以基本上,我能够显示整个页面,或针头之后的一行,但不是针头之后的所有内容....
我试图找到一个使用PHP Reference,Stackoverflow搜索引擎,当然还有谷歌的解决方案,但我找不到解决方案,感谢所有愿意帮助我的人。
问候userrr3
答案 0 :(得分:2)
如果您希望整个文件改为使用fgets()
DOCs,那么您只能使用file_get_contents()
DOCs从文件中一次抓取一行:
$file = file_get_contents($URL);
$buffer= strstr($file, "Montag</b>");
// If I don't use this line, the whole page gets displayed...
// If I use this line, only the first line after the needle gets displayed
echo $buffer;
这可以使用PHP substr()
DOCs函数结合strpos()
DOCs:
$buffer = substr($buffer, strpos($buffer, 'Montag</b>'));
这将在第一次出现针Montag</b>
后抓取所有文本。
$file = file_get_contents($URL);
$buffer = substr($file, strpos($buffer, 'Montag</b>'));
echo $buffer;