我有一个文本文件名data.dat,每行包含空格分隔的字符串。我想从中删除一个特定的整行,请为它提供经过测试的php代码。我正在使用php 5.4 +
文件内容:
abc samle sample
this abc sample
xyz test sample sample
例如,我有$str="this"
。所以在这种情况下我想删除第二行,一般情况下可能发生在第一行或中间或结尾。主要的是我不想要任何空行。所以新文件应该是
abc samle sample
xyz test sample sample
答案 0 :(得分:2)
试试这个:
<?php
$f = "data.dat";
$term = "this";
$arr = file($f);
foreach ($arr as $key=> $line) {
//removing the line
if(stristr($line,$term)!== false){unset($arr[$key]);break;}
}
//reindexing array
$arr = array_values($arr);
//writing to file
file_put_contents($f, implode($arr));
?>