7

fgetsが返すすべての後にスペースを置くように見えます。次にいくつかのサンプルコードを示します。

<?php
Echo "Opening " . $_SERVER{'DOCUMENT_ROOT'} . "/file.txt" . "...<br>";
$FileHandle = @Fopen($_SERVER{'DOCUMENT_ROOT'} . "/file.txt", "r");
If ($FileHandle){
    Echo "File opened:<br><br>";
    While (!Feof($FileHandle)){
        $Line = Fgets($FileHandle);
        Echo $Line . "word<br>"; //Should be LINECONTENTSword, no space.
    }
    Fclose($FileHandle);
}
?>

これは

Opening /var/www/vhosts/cqe.me/httpdocs/file.txt...
File opened:

First line word
Second line word
3rd line word
Another line of text word
Blablablaword

行の内容と「単語」の間にスペースがあるのはなぜですか?そして、なぜこのスペースがファイル(Blablablaword)の最後にないのですか?

このスペースを取り除く方法を教えてください。どうもありがとう :-)!

4

2 に答える 2

14

fgets()は、行改行文字( )を返します\n。これは、他のすべての空白と同様に、HTMLのスペースとしてレンダリングされます。

末尾の改行を削除するには、

$line = rtrim($line, "\r\n");
// Trims \r, \n and \r\n, which are all considered
// newlines on different platforms
于 2010-08-18T14:41:45.003 に答える
7

fgetsは行末文字(\ n)も返すと思いますが、これはhtmlではスペースとしてレンダリングされます。

行からすべての末尾のスペースを削除する場合は、 rtrimを使用できます

于 2010-08-18T14:34:41.790 に答える