fwrite() 没有缩进/空格

fwrite() without indention / whitespaces

我这里有这个简单的设置:

<?php
fwrite($handle, '<?xml version="1.0" encoding="UTF-8"?>
                 <rss version ="2.0"     xmlns:g="http://base.google.com/ns/1.0">
                 <channel>
                 <title>' . $sTitel . '</title>
                 <description>' . $sDescription . '<description>');

如你所见,第2行有几个空格是要写的。显然,fwrite 解释它们并将它们也写入文件。这是我不想拥有的。

我的文件输出如下所示:

<?xml version="1.0" encoding="UTF-8"?>
                    <rss version ="2.0" xmlns:g="http://base.google.com/ns/1.0">
                    <channel>
                    <title>myTitle</title>
                    <description>myDesct<description>

trim 不会删除空格。为了可读性和缩进,我保留了这种格式。当然,一种解决方案是这样写:

<?php
class myClass {
    public function writeStuff() {
        fwrite($handle, "here
comes
my
content");
    }
}

但是你看,这不是很可读。有任何想法吗?另外,我想为通常的 xml 结构保留制表符(或空格)(猜猜我可以使用 \t 吗?

我的预期结果应该是这样的(xml-文件):

<?xml version="1.0" encoding="UTF-8"?>
<rss version ="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
     <title></title>
     <description><description>
     <link>http://dfu.dev12-1.tro.net/oxid49/<link>
     <item>
         <g:id>531a8af7d9a9a5bb53b65a2b9a5356e5</g:id>
     </item>
</channel>

连接每一行。您已经定义了一个包含大量空格(或制表符)的文字字符串。必要时添加空格。

fwrite($handle, '<?xml version="1.0" encoding="UTF-8"?>'.PHP_EOL
       .'<rss version ="2.0" xmlns:g="http://base.google.com/ns/1.0">'.PHP_EOL
       .'<channel>'.PHP_EOL
       .'    <title>' . $sTitel . '</title>'.PHP_EOL
       .'    <description>' . $sDescription . '<description>'.PHP_EOL);

更具可读性,您仍然可以控制输出。