删除包含某些单词的字符串
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);
如何删除包含某些单词的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);