首頁 > 後端開發 > php教程 > 如何在 PHP 中基於單字匹配替換文字檔案中的行?

如何在 PHP 中基於單字匹配替換文字檔案中的行?

Susan Sarandon
發布: 2024-11-28 10:02:12
原創
295 人瀏覽過

How to Replace Lines in Text Files Based on Word Matching in PHP?

使用PHP 根據單字配對取代文字檔案中的行

在行號未知的場景下,根據單字取代特定行配對可能是一項具有挑戰性的任務。幸運的是,PHP 提供了幾種有效的方法來解決這種情況:

對於較小的檔案(適合記憶體):

  1. 將整個檔案讀入數組lines using file('myfile').
  2. 建立一個函數來取代所需的行,例如Replace_a_line($data):

    • 使用stristr($data, 'certain word') 檢查該行是否包含目標單字。
    • 如果找到,則回傳替換行作為string.
    • 否則,傳回原始line.
  3. 使用array_map('replace_a_line', $data)將替換函數應用於數組中的每一行。
  4. 使用以下命令將修改後的陣列寫回檔案file_put_contents('myfile', $data).
  5. 使用以下方法增強此方法用於簡化array_map 的lambda 函數:

    • $data = array_map(function($data) { ... }, $data);

對於較大的檔案(記憶體強化):

  1. 分別使用fopen( 'myfile', 'r') 和fopen('myfile.tmp', 'w') 開啟檔案進行讀寫。
  2. 設定一個標誌來指示是否要替換($replaced)。
  3. 使用以下指令讀取輸入檔中的每一行fgets($reading).
  4. 使用 stristr($line, 'certain word') 檢查目標單字是否存在。
  5. 如果找到,則用修改後的版本取代該行。
  6. 使用 fputs($writing, $line) 將更新的行寫入輸出檔。
  7. 關閉文件處理後處理。
  8. 僅在進行替換時才用修改後的文件替換原始文件(rename('myfile.tmp', 'myfile')),如果不需要替換則刪除臨時文件(unlink ('myfile.tmp ')).

以上是如何在 PHP 中基於單字匹配替換文字檔案中的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板