这是我的完整网页,其中的PHP代码直接来自here。然而,页面上的所有文字都在一行上呈现?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
echo "This spans
multiple lines. The newlines will be
output as well";
echo "This spans\nmultiple lines. The newlines will be\noutput as well.";
?>
</body>
</html>
答案 0 :(得分:3)
您的源代码中包含换行符。但是,浏览器不会将换行符呈现为页面上的换行符,因此您需要使用换行符标记(<br />
)。
答案 1 :(得分:2)
HTML不支持换行符,因此您必须使用<br>
。
您可以使用nl2br
将您字符串中的所有\n
转换为<br>
,这将生成您想要的输出。
答案 2 :(得分:1)
HTML会将连续的空格(在大多数情况下)合并为单个空格字符。您需要输出段落(<p>...</p>
)或带边框或填充的其他标记,或输出显式换行符(<br>
)。
答案 3 :(得分:1)
确实打印了换行符,但HTML并不关心空格(除非您明确告诉它,请查看pre
元素和white-space: pre
)。
在查看HTML时,浏览器基本上会将所有\s
转换为一个空格。
答案 4 :(得分:1)
哦,新的线路在那里,他们正在工作。深入了解HTML 源 (即右键单击浏览器并选择查看页面源),而不是显示结果在浏览器中。你会看到那里的新线。
问题在于HTML本身并不关心如何格式化空白区域。对于HTML所有空格,无论是制表符,新行还是整个空格都被翻译为单个空格。
要让HTML显示换行符,您必须使用<pre>
,<p>
或<br/>
等HTML标记。
我发现PHP程序更容易创建我自己的echoLine
函数,该函数同时添加\n
和<br/>
。这样,我在网页源和HTML显示中都看到了它。