0

如果我有一个格式如下的文本文件:

00:00:00 Text 1
00:00:01 Text 2
00:00:02 Text 3
00:00:03 Text 4
00:00:04 Text 5
00:00:05 Text 6

我将如何创建一个 PHP 函数以在从下一行开始的特定时间后获取所有文本?

示例:指定时间 00:00:03,从 00:00:04 获取所有行。

4

2 回答 2

2

这不是家庭作业还是什么?

一种方法是读取文件,用换行符分割,循环直到找到有问题的行,然后抓取数组的其余部分,重新​​组合,返回。

当然,有很多方法可以做到这一点。

$contents = file_get_contents("/path/to/file.txt");
$lines = explode("\n",$contents);
for($i = 0; $i < count($lines); $i++) {
    $time = substr($lines[$i],0,8);
    if( $time == "00:00:03" ) {
        array_splice($lines, 0, $i+1) //removes 0 -- $i from $lines
        return implode("\n", $lines);
    }
}
于 2012-07-18T23:10:31.830 回答
2

查看 PHP 函数:

本质上,您将需要遵循以下过程:

  1. 打开文件指针指向包含文本的文件
  2. 使用 fgets 一次拉一条线
  3. 使用 substr 获取时间,检查是否匹配
  4. 如果不匹配继续;如果匹配,则设置一个标志并继续;
  5. 如果满足 flag 则跳过 substr 检查并对数据执行某些操作(此时数据将是您所期望的)。
于 2012-07-18T23:11:27.743 回答