2017-04-06 104 views
0

我需要將註釋行放在一個txt文件中,您可以這樣做,如果可以的話我該怎麼辦?謝謝。在行之間插入文本file.txt

這是原始文件

<a href='http://example.com/text/text.txt'>text1</a><br/> 
<a href='http://example.com/text/text.txt'>text2</a><br/> 
<a href='http://example.com/text/text.txt'>text3</a><br/> 
<a href='http://example.com/text/text.txt'>text4</a><br/> 
<a href='http://example.com/text/text.txt'>text5</a><br/> 
<a href='http://example.com/text/text.txt'>text6</a><br/> 
<a href='http://example.com/text/text.txt'>text7</a><br/> 
<a href='http://example.com/text/text.txt'>text8</a><br/> 
<a href='http://example.com/text/text.txt'>text9</a><br/> 
<a href='http://example.com/text/text.txt'>text10</a><br/> 
<a href='http://example.com/text/text.txt'>text5</a><br/> 
<a href='http://example.com/text/text.txt'>text6</a><br/> 

我想提出字裏行間評論這樣

<a href='http://example.com/text/text.txt'>text1</a><br/> 
<a href='http://example.com/text/text.txt'>text2</a><br/> 
<a href='http://example.com/text/text.txt'>text3</a><br/> 
Home text 
<a href='http://example.com/text/text.txt'>text4</a><br/> 
<a href='http://example.com/text/text.txt'>text5</a><br/> 
<a href='http://example.com/text/text.txt'>text6</a><br/> 
<a href='http://example.com/text/text.txt'>text7</a><br/> 
Working text 
<a href='http://example.com/text/text.txt'>text8</a><br/> 
<a href='http://example.com/text/text.txt'>text9</a><br/> 
<a href='http://example.com/text/text.txt'>text10</a><br/> 
<a href='http://example.com/text/text.txt'>text5</a><br/> 
<a href='http://example.com/text/text.txt'>text6</a><br/> 
+1

我會用java,c#或其他一些編程語言來改變文本文件。 – Sedrick

+0

既然你已經用php標記了它:你看過文件函數嗎?您可以使用它將文件讀入數組,然後使用array_splice。當你完成後,你可以用數組內容替換文件的內容? – Araw

+0

謝謝你的回答,我使用php,但是,仍然是非常不切實際的PHP,有人可以給我一些例子的幫助。謝謝 – George

回答

0

有很多方法可以做到這一點。將文本插入文件的中間位置有點困難,因爲它不需要先存儲內容,因爲它需要您先複製您首先覆蓋的內容。如果必須的話,你可以看看fseekftell

下面是使用fopen,基本上讀取整個文件,然後覆蓋它一個簡單的解決方案:

<?php 
$lines = []; 
$handle = fopen('file.txt', 'r+'); // open for read + write 
while ($line = fgets($handle)) { // read 
    array_push($lines, $line); 
    if (strpos($line, 'text3')) { 
     array_push($lines, "Home text" . PHP_EOL); 
    } 
    if (strpos($line, 'text7')) { 
     array_push($lines, "Working text" . PHP_EOL); 
    } 
} 
rewind($handle); 
foreach ($lines as $line) { // write 
    fwrite($handle, $line); 
} 
fclose($handle); 
0

我把你的文本文件,我命名爲file.txt我還創建這樣的腳本:

<?php 
$content = explode("\n", file_get_contents('file.txt')); 
$result = ""; 

for ($i = 0; $i < count($content); $i++) { 
    if ($i === 3) { 
     $result .= "Home text\n"; 
    } 
    if ($i === 7) { 
     $result .= "Working text\n"; 
    } 

    $result .= $content[$i] . "\n"; 
} 

file_put_contents('result.txt', $result); 

該腳本的結果是,您可以通過編程將您的行添加到文件中。現在,決定如何插入這些行的規則取決於您。我用了兩個討厭的ifs。我不知道你的確切密集程度是什麼,但這是這樣一個任務的實例。

+0

這對我來說很好,我試過了腳本,但是當我看結果時,第3行和第7行被寫入文本,但在沒有回車的同一行上。 – George

+1

@George替換'「\ n」'(新行)以適合您的特定需求。因此,Mac:'「\ r」',Linux:'「\ n」',Windows:'「\ r \ n」'或HTML:'「
」 – fyrye