如何使用PHP从文本文件中删除一些行?

时间:2013-01-10 04:20:13

标签: php file

我有一个包含此数据的文本文件:

  

947 11106620030 Ancho Khoren MKK6203简介   忙碌的2,00
948 balblalbllablab
949 balblalbllablab
950   balblalbllablab
  951 11106620031 Adagasa Goo MKB6201经济型内部   3,00
952 balblalbllablab
953 balblalbllablab
954   balblalbllablab
  962 11106620032 Fumiou Moon MKB6201 The Book of World   3,00

但是,我需要删除包含'balblabllablab'的所有行,并保留tge特定的数据行,如下所示:

  

947 11106620030 Ancho Khoren MKK6203简介   忙碌2,00
年951 11106620031 Adagasa Goo MKB6201
  经济内部3,00
962 11106620032 Fumiou Moon MKB6201   世界之书3,00

我知道如何打开和写入文件以及关闭文件,但我不知道如何使用php删除行/内容。如何使用php从文件中删除不需要的行?

2 个答案:

答案 0 :(得分:9)

使用file($path)函数将行放入数组,然后遍历它。

$lines = file($path, FILE_IGNORE_NEW_LINES);
$remove = "balblalbllablab";
foreach($lines as $key => $line)
  if(stristr($line, $remove)) unset($lines[$key]);

$data = implode('\n', array_values($lines));

$file = fopen($path);
fwrite($file, $data);
fclose($file);

答案 1 :(得分:1)

文件中的内容不清楚,您想从文本文件中获取什么内容?

通常使用正则表达式,您可以获取所需的内容,只有它有一些共同的模式。

您能否发布完整的文件内容,并解释您想要从中过滤的内容。

参考:http://php.net/manual/en/function.preg-match.php