2014-02-12 2 views
0

Мне нужна помощь в очистке текстового файла с помощью PHP. После этого файл обрабатывается другой функцией, требующей форматирования текста определенным образом.Очистить файл закрытой надписи (текст) для обработки

Оригинал Титры текст:

1 
00:00:22,767 --> 00:00:24,634 
line text 1 
line text 2 
line text 3 

2 
00:00:26,767 --> 00:00:28,634 
line text 1 
line text 2 
line text 3 

мне нужен текст строки в одной строке. например.

1 
00:00:22,767 --> 00:00:24,634 
line text 1 line text 2 line text 3 

2 
00:00:26,767 --> 00:00:28,634 
line text 1 line text 2 line text 3 

Мне бы очень понравилась помощь/вклад. У меня просто проблема с gettign в правом пространстве. Спасибо.

ответ

0

Вы можете прочитать файл, как здесь: Read a plain text file with php Затем обрабатывайте каждую строку и записывайте ее в другой файл. Если вы хотите, чтобы изменения перезаписали исходный файл, вы можете сделать его копию, прочитать из копии и записать изменения в исходную. Нечто должно работать:

<?php 

$oldFile = fopen('oldFile.txt','r'); 
$newFile = fopen('newFile.txt', 'w'); 
$newLine = false; 
while ($line = fgets($oldFile)) { 
    //If is the number of the caption 
    if(preg_match('/^\d+$/',$line)) { 
     if(!newLine) { 
      fwrite($newFile,'\n'); 
     } 
     fwrite($newFile, $line.'\n'); 
     $newLine = true; 
    } 
    //if it is the minutes label 
    //00:00:22,767 --> 00:00:24,634 
    else if(preg_match('/^\d{2}:\d{2}:\d{2}.\d{3} --> \d{2}:\d{2}:\d{2}.\d{3}$/',$line)) { 
     if(!newLine) { 
      fwrite($newFile,'\n'); 
     } 
     fwrite($newFile, $line.'\n'); 
     $newLine = true; 
    } 
    else { 
     fwrite($newFile,$line.' '); 
     $newLine = false; 
    } 
} 
fclose($newFile) 
fclose($oldFile); 
?> 

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

  • Нет связанных вопросов^_^