为什么我的php输出都在一行?

时间:2014-03-31 01:36:35

标签: php

这两个输入都作为单行输出。

正如我的书所示,我正在这样做。根据我的书,这些格式应该尊重所有的空格和换行符,而不必做\ n废话。

<?php 
$author = "Alfred E Newman"; 

echo <<<_END 
This is a Headline 

This is the first line. 
This is the second. 
- Written by $author. 
_END; 
?> 

<?php 
$author = "Alfred E Newman"; 
$text = "This is a Headline 

This is the first line. 
This is the second. 
Written by $author."; 
echo $text 
?> 

编辑这里'我会引用我的书,说明这段代码应该做什么 “PHP还提供了使用&lt;&lt;&lt;运算符的多行序列,通常简称为here-doccument或heredoc。这是一种指定字符串文字的方法,保留换行符和其他空格(包括缩进)在文中。它的用法见例3-8。“ Eg.3-8将是我在这里发布的第一段代码。我正在使用的书是“学习PHP,MySQL,JavaScript和CSS”,由Robin Nixon撰写

另一个编辑好的,这很奇怪,我将示例#2从PHP手册中复制并粘贴到我的PHP IDE中的heredoc示例,并且当输出明显不同时得到相同的结果“http://www.php.net/manual/en/language.types.string.php

也许这是我的IDE?我正在运行WAMP,一切似乎都运行良好,直到现在......

再次编辑 zomfg我讨厌发生这种情况,后来在书中他说这是正常的,因为HTML格式规则接管并且白色空间得到了补充“ 我的坏人 TBH,我没有看到它只在源页面中可见但没有用新行格式化。有什么好用的,当你可以打开原始文件并自己查看它

4 个答案:

答案 0 :(得分:3)

您可以将其放在<pre>标记中,否则HTML需要<br>个标记来识别换行符。

echo "<pre>$text</pre>";

答案 1 :(得分:1)

添加HTML标记的另一种方法是将文档显示为纯文本。在顶部添加(在任何echo语句之前)

header('Content-type: text/plain');

答案 2 :(得分:0)

$text = "This is the first line.<br>This is the second.<br>Written by $author." ;

答案 3 :(得分:0)

有一个php函数nl2br(New-Line to Break Rule),它基本上会在每个新行中插入一个<br>标记。

这可能是为HTML输出准备文本的另一种方法。