[英]PHP | Replace line in large txt-file
我有一个很大的txt文件,例如:
text.txt
,其中包含:
line1
line2
line3
line4
line5
line6
line7
line8
line9
但是我没有任何解决方案,如何制作一个PHP文件,该文件将第4
行简单地替换为带有不同文本的内容line4
。
谢谢你的帮助! :)
您应该为此使用PHP的file()函数。 它将返回一个包含每一行的数组。
$file = file('path/to/text.txt');
$lines = array_map(function ($value) { return rtrim($value, PHP_EOL); }, $file);
$lines[3] = 'New content for line 4';
$lines = array_values($lines);
要再次保存它,请使用换行符将数组内爆:
$content = implode(PHP_EOL, $lines);
file_put_contents('path/to/your/file.txt', $content);
您可以读取数组中的文件,通过删除第3个索引来删除第4行,然后将所有内容放回一个文件中:
$lines = file('text.txt'); //read the file in an array
array_splice($lines , 3); //remove 4th line
//or
array_splice($lines , 3, 'different text'); //replace line with different text
file_put_contents('text.txt', implode("\n", $lines)); //put the array back into the file
我认为解决方案应如下所示:1.使用file_get_contents()函数获取文本文件的内容2.然后替换文本3.然后再次使用file_put_contents()重新写回该文本文件中的现有数据
代码段
$remove_text = "text to remove";
$file_content = file_get_contents("your text file");
if(($key = array_search($remove_text, $file_content)) !== false) {
unset($file_content[$key]);
}
file_put_contents("your text file",$file_content);
希望能帮助到你 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.