如何在 div 中用新行显示用户文本

How to present user text with new lines inside a div

我有一个 bootstrap panel,其中包含用户之前插入的文本。 用户文本可能包含新行。

显示这些新行的最佳方式是什么?我发现这个 answer and it works if I put a <p> element inside the div. Another answer 似乎不可能,因为它需要替换文本,这可能会有问题。

这是最好的方法吗?它可以在主流浏览器上运行吗?

我想你可以尝试使用 <pre> HTML-tag。在这种情况下,新行将按原样显示

jQuery 可能有效的解决方案

$(document).ready(function() {
  $.each($('.panel-body'), function(k, panel_body) {
    $(panel_body).html($(panel_body).text().replace(new RegExp('\r?\n','g'), '<br />'));
  });
});

我的解决方案是:

<p style="white-space: pre">user-text</p>

它似乎工作正常