1

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

947 11106620030 Ancho Khoren MKK6203 Introduction Busy 2,00
948 balblalbllablab
949 balblalbllablab
950 balblalbllablab
951 11106620031 Adagasa Goo MKB6201 Economy Inside 3,00
952 balblalbllablab
953 balblalbllablab
954 balblalbllablab
962 11106620032 The 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 文月 MKB6201 世界之书 3,00

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

4

2 回答 2

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);
于 2013-01-10T05:08:18.687 回答
1

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

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

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

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

于 2013-01-10T04:48:56.277 回答