我有一个Sinatra应用程序和一个方法
get '/page123' do
"string1\nstring2"
end
如果我转到'/page123'
,我会看到只有一串string1 string2
没有换行符。
如何将其显示为
string1
string2
答案 0 :(得分:2)
由于<br>
标记似乎不适合您,请尝试以下操作:
get '/page123' do
content_type 'text/plain'
"string1\nstring2"
end
答案 1 :(得分:0)
如果您查看HTML的来源,string1 string2
实际上将是string1\nstring2
,但正如预期的那样,\n
是一个新行并且不可见,除了它的影响使换行符开始并重新开始。
浏览器光泽(AKA忽略)嵌入式回车,而只是尊重<p>
和<br>
等标签,除非文本嵌入<pre>
块内。尝试将以下内容复制到文本文件中,然后在浏览器中打开它:
<html>
<body>
<pre>
string1
string2
</pre>
<p>string1<br>string2</p>
</body>
</html>
他们都会用不同的字体在不同的行上显示两个单词。两者都是在HTML中强制换行的有效方法。
了解浏览器显示HTML的方式对您有好处。他们不把它当作文本,因为它不是。 HTML是浏览器解释并使用标签作为有关如何呈现文本的说明的语言。