簡體   English   中英

使用php替換文本文件中特定位置的字符串

[英]replace string at specific location within a text file, using php

我有這樣的事情:

//line1   1321 precalculus 30 0
//line2   1244 accounting 30 0

在一個普通的文本文件中。

我如何將第1行上的數字30更改為29 ,將0更改為1等。

對於最簡單的情況,例如您所描述的情況,假設您知道要更改的行以及要更改的行,則可以這樣做:

// Get text file contents as array of lines
$txt = file('text.txt'); 

// Make the change to line 1
$txt[0] = "1321 precalculus 29 1"; 

// Put the lines back together, and write back into txt file
file_put_contents('text.txt', implode("\n", $txt)); 

根據您實際要執行的操作,此方法可能無效。 本質上,它只是按行分割文本文件,然后用新數據覆蓋第1行,然后將整個內容重寫回文本文件。 同樣,根據文件的大小和您要真正完成的工作,這可能不是最佳解決方案。 但這確實可以滿足您的描述,並且可能是一個不錯的起點。

更新正如Jorg的評論中指出的那樣,不需要分兩步分解文件內容,因為file()可以一步完成相同的任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM