如何删除包含一些单词的txt文件中的所有字符串?
我尝试使用此脚本执行此操作:
$f = "somefile.txt";
$str=file_get_contents($f);
$oldMessage=$_POST['label'];
$deletedFormat=' ';
$str=str_replace("$oldMessage", "$deletedFormat",$str);
file_put_contents($f, $str);
但是我的脚本只删除了一个字而不是整个字符串。 想法?
答案 0 :(得分:1)
这是我的解决方案:
$f = "somefile.txt";
$file = fopen ($f, 'r');
$oldMessage=$_POST['label'];
$deletedFormat=' ';
while(!feof($file)){
$line = fgets($file);
if (strpos($line , $oldMessage)) $arr[] = $line;
}
$str=file_get_contents($f);
foreach($arr as $needle){
$str=str_replace($needle, $deletedFormat,$str);
}
file_put_contents($f, $str);