php EOF无视新行

时间:2014-02-28 13:55:06

标签: php text echo newline eof

<?php

$mytext = <<<EOF
test {
    gl: 100;
    mkd: 0;
    sld: 0;
}
EOF;



echo $mytext;

?>

输出是:

test { aaa: black; bbb: yellow; ccc: red; }

我希望输出完全是在eof段中写的。

test {
    gl: 100;
    mkd: 0;
    sld: 0;
}

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

使用<pre>格式化文本:

<?php

$mytext = <<<EOF
<pre>
test {
    gl: 100;
    mkd: 0;
    sld: 0;
}</pre>
EOF;



echo $mytext;

?>

答案 1 :(得分:0)

浏览器通常会忽略控制字符,例如HTML中的空格。

另一种解决方案是使用echo( nl2br ($mytext))代替。这会将所有\n转换为<br />

手动转换可能有助于您处理其他类型的空白。像这样:

$replacee = array("\n", "\t");
$replacement = array("<br />", "    ");
$mytext = str_replace($replacee, $replacement, $mytext);

herehere相关的问题非常类似(主要是客户端解决方案)。