我有一个包含这些数据的文本文件:
947 11106620030 Ancho Khoren MKK6203简介忙2000
948 ballballbllablab
949 ballballbllablab
950balblalbllablab
951 11106620031 Adagasa Goo MKB6201经济内部3,00
952 ballballbllablab
953 ballballbllablab
954balblalbllablab
962 11106620032文武月MKB6201世界之书3, 00
但是,我需要删除所有包含' ballabllablab '的行,只留下特定的数据行,如下所示:
947 11106620030 Ancho Khoren MKK6203简介忙2000
951 11106620031 Adagasa Goo MKB6201
经济内幕3000
962 11106620032富美月亮MKB6201《世界之书》2000
我知道如何打开和写入文件以及关闭文件,但我不知道如何使用php删除行/内容。如何使用php从文件中删除不需要的行?
使用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);
文件中的内容不清楚,您究竟想从文本文件中获取什么?
通常使用正则表达式可以获取所需的内容,只有当它有一些共同的模式。
你能把完整的文件内容贴出来,并解释一下你到底想从中过滤什么吗
参考:http://php.net/manual/en/function.preg-match.php