PHP:在该行之后获取下一个完整行和文本

时间:2012-07-18 23:04:49

标签: php

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

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获取所有行。

2 个答案:

答案 0 :(得分:2)

签出PHP函数:

基本上,您需要遵循以下流程:

  1. 打开包含文本
  2. 的文件的文件指针
  3. 使用fgets一次拉一行
  4. 使用substr获取时间,检查是否匹配
  5. 如果不匹配继续;如果匹配则设置一个标志并继续;
  6. 如果已满足标志,则跳过子检查并对数据执行某些操作(此时数据将是您所期望的)。

答案 1 :(得分:1)

这不是作业还是其他什么东西?

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

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

$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);
    }
}