如何从php中以字符串开头的文件中删除特定行

如何从php中以字符串开头的文件中删除特定行,php,Php,我有一个文本文件名data.dat,每行包含空格分隔的字符串。我想删除一整行从一个特定的开始,请提供测试的php代码。我使用的是PHP5.4+ 文件内容: abc samle sample this abc sample xyz test sample sample 例如,我有$str=“this”。所以在本例中,我想删除第二行,因为一般情况下,可能发生在第一行、中间行或末尾。最重要的是我不想要任何空行。所以新文件应该是 abc samle sample xyz test sample sam

我有一个文本文件名data.dat,每行包含空格分隔的字符串。我想删除一整行从一个特定的开始,请提供测试的php代码。我使用的是PHP5.4+

文件内容:

abc samle sample
this abc sample
xyz test sample sample
例如,我有
$str=“this”
。所以在本例中,我想删除第二行,因为一般情况下,可能发生在第一行、中间行或末尾。最重要的是我不想要任何空行。所以新文件应该是

abc samle sample
xyz test sample sample
试试这个:

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


这看起来像是您要求我们为您完成家庭作业:(这里的原则是您提供代码,我们帮助您使其正常工作。首先检查类似于给定的问题,然后在发现错误时上载代码…谢谢,我这样做了