0

phpスクリプトでgzipで圧縮されたログファイルを読んでいます。テキストには何も欠けていませんが、複数のスペースのすべてのインスタンスが1つのスペースに縮小されています。

出力の例を次に示します。

+-----------------------------------------------------------------------------+
| Exit Status : 1 |

次のようになっているはずです。

+-----------------------------------------------------------------------------+
| Exit Status : 1                                                             |

これが私が思うスクリプトの関連部分です:

$lines = gzfile("$filename.gz");

# If the file is empty, say that to be more user friendly
if($lines == "") {
    echo "File empty";
} else {
    echo "<div style=\"font-family:courier new;font-size:12pt\">";
    foreach ($lines as $line) {
        echo nl2br($line);
    }
    echo "</div>";
}

テストと同じように、nl2brなしでも試してみましたが、スペースは1つに減りました。何かが実際にファイルを誤って書き込んでいないことを確認するために、ターミナルでzcatを使用してファイルを表示したため、ファイルはそのままです。何か案は?

4

1 に答える 1

2

HTMLマークアップを出力しているので、PHPスクリプトの出力をWebブラウザーで表示していると思います。この場合、PHPではなくHTMLの癖を助長していることになります。具体的には、Webブラウザーは、空白の広がりを1つのスペースとしてレンダリングします。これがHTMLの仕組みです。

<pre></pre>すべてのスペースを表示するには、出力をタグでラップする必要があります。

于 2012-04-26T00:47:27.433 に答える