我对nl2br
标记使用了pre
函数,但我遇到了一个奇怪的问题:有2个换行符,但只有一个<br />
标记。
例如:
code in line 1<br />
code in line 2<br />
显示为:
code in line 1
code in line 2
而不是:
code in line 1
code in line 2
答案 0 :(得分:2)
在<pre>
标记中包装文本会强制它显示为已写入:包括空格,制表符和新行。
因此,回车将创建一个新行,<br />
将创建第二个新行。
答案 1 :(得分:0)
preg_replace ("/\n+/", "", $pre)
甚至更好preg_replace ("/[\n\r]+/", "", $pre)
答案 2 :(得分:0)
当你在预编组中写入时,你不需要应用nl2br()。
答案 3 :(得分:0)
我遇到了同样的问题。正确的答案要简单得多。不要使用nl2br和pre。
nl2br将<br />
添加到html的文本中,但pre标签已保留文本格式。
这意味着什么。 <pre>
=预先格式化。
是的,这样的事情会起作用,直到它没有。
<pre>
preg_replace ("/[\n\r]+/", "",nl2br(file_get_contents("/crashbody.txt")))
</pre>
但那太傻了。您正在添加换行符并将其删除。要保留您的空白和换行符,请<pre>
完成它的工作。
<pre>
file_get_contents("/crashbody.txt")
</pre>
或者更好的是:
<div style = "white-space: pre; text-align:left;">
file_get_contents("/crashbody.txt")
</div>