ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用してテキスト ファイル内の特定の行を置換するにはどうすればよいですか?
PHP を使用してテキスト ファイル内の特定の行を置換する
テキスト ファイルを編集し、特定の内容を含む特定の行をゼロインする必要がある言葉? PHP の世界に飛び込み、その行を簡単に置き換える 2 つの手法を検討してみましょう。
方法 1: メモリ内での行置換
より小さいファイルの場合は、メモリに快適に保持するには、次のアプローチを使用できます:
$data = file('myfile'); // Reads an array of lines function replace_a_line($data) { if (stristr($data, 'certain word')) { return "replacement line!\n"; } return $data; } $data = array_map('replace_a_line', $data); file_put_contents('myfile', $data);
方法 2:メモリ消費の少ない行置換
大きなファイルの場合は、よりメモリを節約する次の方法を試してください:
$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); // Don't overwrite if nothing replaced if ($replaced) { rename('myfile.tmp', 'myfile'); } else { unlink('myfile.tmp'); }
これで完了です。どの方法を選択するかは、ファイルのサイズとメモリの制約によって異なります。大きなファイルの場合は 2 番目の方法が強力ですが、小さなファイルの場合は 1 番目の方法が優れていることに注意してください。
以上がPHP を使用してテキスト ファイル内の特定の行を置換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。