如何从php中启动字符串的文件中删除特定行

时间:2015-03-03 11:37:47

标签: php

我有一个文本文件名data.dat,每行包含空格分隔的字符串。我想从中删除一个特定的整行,请为它提供经过测试的php代码。我正在使用php 5.4 +

文件内容:

abc samle sample
this abc sample
xyz test sample sample

例如,我有$str="this"。所以在这种情况下我想删除第二行,一般情况下可能发生在第一行或中间或结尾。主要的是我不想要任何空行。所以新文件应该是

abc samle sample
xyz test sample sample

1 个答案:

答案 0 :(得分:2)

试试这个:

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