Bagaimanakah Saya Boleh Menggantikan Baris Tertentu dalam Fail Teks dengan PHP?

Linda Hamilton
Lepaskan: 2024-11-13 02:42:02
asal
1022 orang telah melayarinya

How Can I Replace Specific Lines in a Text File with PHP?

Menggantikan Baris Tertentu dalam Fail Teks dengan PHP

Dalam fail teks, menggantikan baris secara terpilih berdasarkan kehadiran perkataan tertentu ialah satu keperluan bersama. Dalam hal ini, PHP menyediakan beberapa pendekatan untuk menyelesaikan tugasan ini.

Menggunakan Fungsi Tatasusunan untuk Fail Yang Lebih Kecil (Muat ke dalam Memori)

Untuk fail teks yang sesuai dengan memori, pendekatan berikut boleh digunakan:

$data = file('myfile'); // Array of lines
function replace_a_line($data) {
    return (stristr($data, 'certain word')) ? "replacement line!\n" : $data;
}
$data = array_map('replace_a_line', $data);
file_put_contents('myfile', $data);
Salin selepas log masuk

Fungsi Lambda dalam versi PHP > 5.3.0 membenarkan versi ringkas:

$data = array_map(function($data) {
    return (stristr($data, 'certain word')) ? "replacement line\n" : $data;
}, $data);
Salin selepas log masuk

Untuk Fail yang Lebih Besar (Intensif Memori)

Dengan fail yang lebih besar, pendekatan di bawah berulang baris demi- baris tanpa memuatkan keseluruhan fail ke dalam ingatan:

$reading = fopen('myfile', 'r');
$writing = fopen('myfile.tmp', 'w');
$replaced = false;
while (!feof($reading)) {
    $line = fgets($reading);
    if (stristr($line, 'certain word')) {
        $line = "replacement line!\n";
        $replaced = true;
    }
    fputs($writing, $line);
}
fclose($reading); fclose($writing);
if ($replaced) rename('myfile.tmp', 'myfile');
else unlink('myfile.tmp');
Salin selepas log masuk

Dengan melaksanakan teknik ini, anda boleh menggantikan baris tertentu dalam fail teks dengan berkesan berdasarkan padanan perkataan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggantikan Baris Tertentu dalam Fail Teks dengan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan