ホームページ >バックエンド開発 >PHPチュートリアル >Word に基づいたテキスト ファイル内の特定の行を置換するにはどうすればよいですか?
Word に基づいたテキスト ファイルの特定の行の置換
テキスト ファイルの操作では、特定の行を置換する必要がある状況が発生します。特定の単語の存在に基づくテキスト行が重要になります。この必要性は、さまざまなシナリオに適したさまざまなアプローチを使用して対処できます。
小さなファイルの処理
メモリに無理なく収まる小さなテキスト ファイルの場合、便利な方法です。ファイル全体を行の配列に読み取る必要があります。この配列は、カスタマイズされた関数を使用して処理され、指定された単語を含む行を効率的に置き換えることができます。
PHP での実装例は次のとおりです。
$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);
大きなファイルの処理
使用可能なメモリ制限を超える大きなテキスト ファイルの場合は、より効率的なアプローチが必要です。この方法では、ファイルを 1 行ずつ読み取り、目的の単語の存在を確認し、それを代替ファイルに置き換えます。置換が行われると、元のファイルは変更された内容で上書きされます。
次の PHP 実装を検討してください。
$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); // might as well not overwrite the file if we didn't replace anything if ($replaced) { rename('myfile.tmp', 'myfile'); } else { unlink('myfile.tmp'); }
ファイル サイズとリソースの制約に応じて、これらのアプローチは効果的な方法を提供します。単語の存在に基づいてテキスト ファイル内の特定の行を置き換えるソリューション。
以上がWord に基づいたテキスト ファイル内の特定の行を置換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。