我有一个带有textarea的表单,我想保留用户在输出内容时输入的换行符。
例如,如果我在textarea中写:
这是一个句子。这是另一个。这里还有一个。
这是一个新段落。这是一个新句子。这是另一个。
我想要相同的输出,而不是:
这是一个句子。这是另一个。这里还有一个。这是一个新段落。这是一个新句子。这是另一个。
如何保留换行符?
Answers:
用户输入的换行符被保存下来,无论是HTML还是PHP直接丢弃或变造任何东西。但是,为可视化呈现HTML标记时,会使用另一种方式对换行符进行编码。有非常好的理由。因此,您要做的是将现有的换行符“翻译”为html样式的换行符。
如何执行此操作取决于您所处的环境。通常,您必须将换行符转换\n
为<br>
标签。该php
脚本语言提供了一个功能,这个例如:nl2br()
但是请注意:仅在将文本呈现为html标记时适用。但这并不适用,当你的文本输出到一个文本形式的内部再次允许改变它的例子。在这种情况下,您必须保留原始的换行符。
因此,您通常要做的是:将未更改的文本输入保存为已接收。当再次将文本输出到客户端时,例如说从以前保存过文本的数据库中读取文本之后,便知道了情况以及如何显示文本。那就是您翻译或保留现有换行符的位置。
您还可以按<pre>...</pre>
标签对包含换行符的未更改文本进行编码,因此将其标记为以预格式化的形式呈现。例如,在html页面中显示源代码时就可以完成此操作。
你可以做:
white-space: pre-wrap;
overflow-wrap: break-word;