如果我有一个格式化为这样的文本文件:
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获取所有行。
检查PHP函数:
- fgets
- substr
从本质上讲,你会想遵循这样一个过程:
- 指向包含文本的文件的打开文件指针
- 使用fgets一次拉一条线
- 使用substr获取时间,检查它是否匹配
- 如果不匹配,继续;如果匹配,则设置标志并继续
- 若已满足标志,那个么跳过子字符串检查,对数据执行一些操作(此时数据将是您所期望的)
这不是家庭作业什么的,是吗?
一种方法是读取文件,按换行符拆分,循环直到找到有问题的行,然后获取数组的其余部分,重新组合,返回。
当然,有很多方法可以做到这一点。
$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);
}
}