我有一个带有文本区的表单,我希望在输出内容时保留用户输入的换行符。
例如,如果我在文本区域中编写:
这里是一个句子。这是另一个。这里还有一个。
这是一个新的段落。这是一个新句子。这是另一个。
我想要相同的输出,而不是::
这里是一个句子。这是另一个。这里还有一个。这是一个新的段落。这是一个新句子。这是另一个。
如何保留换行符?
发布于 2015-06-02 18:40:48
通常,您只需添加
将
white-space: pre-line;空格修剪为单个空格orwhite-space: pre-wrap;保留所有空格元素的样式(CSS),您希望在其中使用换行符呈现文本。
发布于 2015-06-02 18:15:13
用户输入的换行符将被保留,html和php都不会简单地删除或更改任何内容。然而,html标记在为可视化而呈现时,使用不同的方式来编码换行。这有很好的理由。所以你要做的就是把现有的换行符“翻译”成html风格的换行符。
如何做到这一点取决于您正在工作的环境。通常,您必须将诸如\n之类的换行代码转换为<br>标记。php脚本语言为此提供了一个函数,例如:nl2br()
但是要小心:这只适用于将文本呈现为html标记的情况。例如,当您再次将文本输出到表单内的文本区域以允许更改它时,这并不适用。在这种情况下,您必须保留原始换行符,就像接收到的一样。
因此,您通常要做的是:将未更改的文本输入保存为接收到的文本。当再次将该文本输出到客户端时,比如从您之前保存它的数据库中读取它之后,您就知道了这种情况,即文本将如何呈现。也就是说,您要么转换现有的换行符,要么保留它们的原样。
您还可以通过<pre>...</pre>标记对包含换行符的未更改文本进行编码,以便将它们标记为呈现为预格式化。例如,当在html页面中显示源代码时进行THis。
发布于 2020-01-29 11:44:03
您可以执行以下操作:
white-space: pre-wrap;
overflow-wrap: break-word;https://stackoverflow.com/questions/30593103
复制相似问题