2012-07-18 2 views
0

Если у меня есть текстовый файл, отформатированный как таковой: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.

+0

У вас есть идеи? 'strpos()', 'substr()'? – zerkms

+2

[Что вы пробовали] (http://whathaveyoutried.com/)? –

+0

Я играл с strstr(), strpos(), что-то вроде этого, но я не уверен, как перейти к следующей строке. – hexacyanide

ответ

2

заказ на PHP функции:

По существу вы хотите следить за процессом, как:

  1. указатель Открыть файл в файл, содержащий текст
  2. Используйте fgets тянуть линию в то время
  3. Используйте SUBSTR, чтобы получить время, проверьте, соответствует ли это
  4. Если не соответствует по-прежнему; если он соответствует установленному флагу и продолжается;
  5. Если флаг был встречен, пропустите проверку субстрата и сделайте что-нибудь с данными (на данный момент данные будут такими, какие вы ожидаете).
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); 
    } 
} 
+0

Просто потому, что я спросил вопрос начального уровня, это не значит, что я делаю домашнее задание. – hexacyanide

+0

Извините. Надеюсь, я не слишком циничен! – webjprgm

+1

Я понимаю, хотя я даже не знаю, где люди получат PHP как домашнюю работу. – hexacyanide

Смежные вопросы