我可以在Chrome开发者工具中看到字符串的换行符“”
<br>↵↵<br>Event Status: confirmed↵<br>Event Description: Hog Day (Night )and Hog Day (Day)↵↵Friday...
如果我双击这个并粘贴到记事本,换行符将被保留。
当我像这样将字符串保存到对象中时
var summary = el.find("summary").text();
var volunteerEvent = {title: title, summary: summary}
并最终将其显示在页面上,
$('#volunteerEventDescription').empty().html(event.summary);
换行符消失了,变成了一大块文字。
我如何保持新行?
2条答案
按热度按时间xn1cxnb41#
我看到两个明显的选择。哪一个适合你取决于你想要多少控制格式。
1.使用
pre
标记,新行将被考虑。pre
用于预格式化文本,将使用非比例字体,因此可能无法按您的意愿呈现。请参阅pre on MDN了解更多详细信息。1.将新行替换为
br
标记。你可以使用正则表达式来实现这一点:stringValue.replace(/\n/g, '<br/>')
。在另一个问题上存在更健壮的正则表达式:jQuery convert line breaks to br (nl2br equivalent)。作为2023年的更新,另一种选择是使用CSS
white-space
pretty,并将pre
,pre-wrap
或pre-line
作为值。请参阅MDN white-space page了解更多详细信息。23c0lvtd2#
PHP中的
nl2br
函数可以在php.js中找到:http://phpjs.org/functions/nl2br/.nl2br
,顾名思义,将换行符转换为break标记。