file_get_contents或替代提取前x行

时间:2017-10-17 20:18:24

标签: php

我想提取html页面的前x行 我知道我可以用这样的东西提取字符数量:

file_get_contents('http://xx.xxx.158.239/fin.html' , NULL, NULL, 0, 125);

但线条怎么样?喜欢从第1行到第4行提取文本?那可能吗?

3 个答案:

答案 0 :(得分:2)

您可以使用专用方法调用而不是一对一file_get_contents()来阅读文件:

$fp = fopen('my/file/name', 'r');
for ($i = 0; $i < 4; $i++) {
    if (feof($fp)) {
        echo 'EOF reached';
        break;
    }
    echo fgets($fp);
}
fclose($fp);

答案 1 :(得分:1)

这里有一些您可能会觉得有用的代码段:

$file = 'http://xx.xxx.158.239/fin.html';  // remote or local file
$lines = 3; // how many lines do you want?
if (file_exists($file)) {
    $contents = @file_get_contents($file); // suppress errors, esp. for remote files
    $head = implode("\n", array_slice(explode("\n", $contents), 0, $lines));
} else {
    $head = 'File does not exist';
}
echo $head;

答案 2 :(得分:0)

您可以在file创建的文件或网址处理上使用fopen将内容加载到数组中,并只读取相关的行。

要在循环中逐行获取内容,您可以使用fgets