1

このデータを含むテキストファイルがあります:

947 11106620030 AnchoKhorenMKK6203はじめにビジー
2,00948balblalbllablab
949 balblalbllablab
950 balblalbllablab
951 11106620031 AdagasaGooMKB6201エコノミーインサイド3,00952balblalbllablab
953
balblalbllablab
954 balblalbllablab
962 1110

ただし、以下に示すように、「balblabllablab」を含むすべての行を削除し、特定のデータ行を残す必要があります。

94711106620030アンチョコーレンMKK6203はじめに忙しい
2,009511106620031アダガサグーMKB6201
エコノミーインサイド3,0096211106620032フミオウムーン
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 に答える