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

Delete string containing some words

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

我试着用这个脚本来做:

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

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

这是我的解决方案:

$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);