删除包含一些单词的字符串

时间:2015-09-15 08:14:22

标签: php string text-files

如何删除包含一些单词的txt文件中的所有字符串?

我尝试使用此脚本执行此操作:

$f = "somefile.txt";
$str=file_get_contents($f);
$oldMessage=$_POST['label'];
$deletedFormat=' ';
$str=str_replace("$oldMessage", "$deletedFormat",$str);
file_put_contents($f, $str);

但是我的脚本只删除了一个字而不是整个字符串。 想法?

1 个答案:

答案 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);