javascript 显示文本时丢失换行符

bis0qfac  于 2023-06-20  发布在  Java
关注(0)|答案(2)|浏览(324)

我可以在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);

换行符消失了,变成了一大块文字。
我如何保持新行?

xn1cxnb4

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,并将prepre-wrappre-line作为值。请参阅MDN white-space page了解更多详细信息。

23c0lvtd

23c0lvtd2#

PHP中的nl2br函数可以在php.js中找到:http://phpjs.org/functions/nl2br/.nl2br,顾名思义,将换行符转换为break标记。

相关问题