如何在不使用任何HTML标记的情况下向HTML文本添加换行符?

4

我想在一个只允许插入文本的网站上插入换行符到我的个人资料中,因此我不能使用任何HTML标签。

我想知道是否有办法像使用ASCII码插入空格或制表符那样插入换行符?


2
文本在保存到服务器之前可能已经进行了编码,这意味着您不能随意编写内容并期望它能像您在个人资料页面上编写的那样显示。 - kaspermoerch
8个回答

8
你可以将 white-space 设置为 pre-line,这将会保留回车换行。
p {
    white-space: pre-line;
}

<p>Hello,\r\nGoodbye!</p>

将会渲染出:

Hello,
Goodbye!

5
我想你正在寻找像'&nbsp;'这样的代码...
‘回车’代码是'&#13;' 也许你正在寻找其中的内容:ASCII HTML CODES

这并没有帮助我解决一个HTML问题,但对于一个不能正确格式化的普通文本输入有所帮助。谢谢! - parker_codes

3

没有。您可以输入例如LINE FEED字符,如&#10;,但这并没有帮助:按照HTML规则,它仍然被视为另一个空格字符,并且任何一系列空格字符在正常的HTML内容中都等同于一个SPACE。您不能通过字符本身覆盖处理字符的HTML规则(只能通过HTML标记或CSS)。


1
你可以在发送电子邮件时使用<pre>标签。在该标签中,文本行间换行符将显示为html中的实际换行符。

<p>
  this is a 
  text with 
  line breaks
</p>
<pre>
this is a 
text with
line breaks
</pre>


不错,但是原帖作者说他们只能使用纯文本。 - Mr Lister
如果他从<textarea>获取数据,他可以包括制表符、换行符等。 - Shiran Dror

1
您可能无法添加任意的换行符。但是,如果文本要呈现在容器内且容器长度不足以将文本作为单行显示,则可以影响换行的位置。只需在文本中正确的位置使用非断空格即可。
假设文本包含多个句子并且将被分成几行,并且您希望在某个句子之前发生换行。然后在该句子中使用非断空格而不是常规空格。特定的句子可能不适合当前行并将呈现在新行上:
文本将在此框中呈现。现在让我们强制换行。 This•text•starts•on•a•new•line as it will not fit on the previous line without breaking the text (•代表&nbsp;)。

1
这很聪明!唯一需要注意的是确保“单词”(由&nbsp;连接的所有文本)足够长,以至于不适合前一行,但不要超过整行的宽度(否则根据word-break属性,它将溢出或可能在单词中间的任意位置断开)。在许多情况下,这很容易实现,但如果容器对大范围宽度响应,则可能无法实现。 - tobek

0
在mailto的正文中,这个代码可以轻松地创建一个新行:%0D。

-1
尝试在想要换行的位置之后加上\n

-3

你和任何阅读这篇文章的人都可以使用它

%0A

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接