以下脚本打印名为array
的{{1}}字符串。来自arr
的回声后,我尝试使用arr
插入换行符,但我看不到它。那是为什么?
\n
答案 0 :(得分:2)
在HTML中,浏览器不显示\n
换行符。如果您查看源代码,您将看到它们显示。您可以使用the nl2br
PHP function将其转换为<br>
,或者从以下位置更改脚本:
<?php
$arr = array("ghazal","shayari","silence","hayaat");
echo $arr[0];
echo $arr[1];
foreach($arr as $var) {
echo $var;
echo "\n";
}
到此:
<?php
$arr = array("ghazal","shayari","silence","hayaat");
echo $arr[0];
echo $arr[1];
foreach($arr as $var) {
echo $var;
echo "<br>";
}
如果这对您不起作用,您可以随时使用pre
HTML tag。 <{1}}代码会保留pre
换行符,并使其可见。
如果这有帮助,请点击此问题旁边的复选标记,将此答案标记为正确。
感谢。 :)
答案 1 :(得分:2)
HTML会以相同的数字处理所有空白字符。
也就是说,以下内容将全部呈现为浏览器中的单个空格:
echo "\n";
echo "\t";
echo " ";
echo " \n\n\n ";
要在HTML中呈现实际的 linkbreak ,您需要在文档中插入<br>
元素。
答案 2 :(得分:1)
据推测,您的PHP脚本正在生成在Web浏览器中查看的HTML。而且,正如我们所知,HTML中无关的空格无法在屏幕上呈现。
生成纯文本(header("Content-type: text/plain")
)或输出,而不是'\n'
,在HTML 中呈现换行符(例如<br />
)。< / p>
答案 3 :(得分:0)
这应该有效
foreach($arr as $var) {
echo $var;
echo "<br />";
}
因为在您的HTML部分<br />
适用于换行符,当您从浏览器端看到HTML的源代码时,\n
也可以正常工作
答案 4 :(得分:0)
因为换行符是使用<br />
在HTML中呈现的。这样做。
foreach($arr as $var) {
echo $var, '<br />';
}
另一种方法是将输出包装在<pre></pre>
中,它会评估空白和换行符,就像你当前正在做的那样。