6

いくつかの空白行を含むテキスト ファイルがあります。何もない行を意味し、スペースを占有しているだけです。

次のようになります。

The

quick
brown

fox jumped over
the

lazy dog

そして、私はそれを次のようにする必要があります:

The
quick
brown
fox jumped over
the
lazy dog

これらの空白行を削除し、コンテンツのある行のみを取得して新しいファイルに書き込むにはどうすればよいですか?

これが私が行う方法を知っていることです:

$file = fopen('newFile.txt', 'w');
$lines = fopen('tagged.txt');
foreach($lines as $line){
    /* check contents of $line. If it is nothing or just a \n then ignore it.
    else, then write it using fwrite($file, $line."\n");*/
}
4

7 に答える 7

4
file_put_contents('newFile.txt',
    preg_replace(
        '~[\r\n]+~',
        "\r\n",
        trim(file_get_contents('tagged.txt'))
    )
);

私は好きです\r\n:)

于 2013-06-16T20:47:13.850 に答える
1
file_put_contents(
  "new_file.txt",
  implode(
    "", 
    array_filter(
      file("old_file.txt")
    ))
);

このコードは、最初にファイルを配列に読み取り ( file())、空の要素を除外し ( array_filter)、それらを新しいファイルに書き込みます。各行の終わりに文字をfile残すため、内破区切り文字は空です。\n

于 2013-06-16T20:21:28.970 に答える
0

strposで試してください。\n を検索します。戻り値が 0 の場合、行の設定を解除します

于 2013-06-16T20:20:21.713 に答える