DIV中文本中的新行

时间:2012-09-17 17:26:43

标签: javascript jquery

我有点困惑,因为当我在div中插入存储在mysql中的文本时我使用下面的句子插入文本:

<div class="menssge_holder"><?php echo str_replace("\n", "</p>", $conversation[$i]['message']); ?></div>

该句话工作正常,但是当用户在textarea中输入新消息并按下发送按钮时,我将该文本放在div_holder中并且'\ n'不生效。

我应该在javascript或jQuery中使用什么?

感谢。

3 个答案:

答案 0 :(得分:1)

这会生成错误的html。如果您想要使用新行替换</p>,则会有一大堆<p>但没有\n,请尝试<br />而不是</p>.如上所述@MarcB您可能还想尝试替换\r\n

答案 1 :(得分:1)

</p>替换为<p><br />,它会起作用。另外,如果您使用的是p,那么以这种方式向p提供CSS会很有帮助:

p {margin: 0 0 15px;}

答案 2 :(得分:0)

<div class="menssge_holder"><?php echo str_replace(/\n/ig, "<br />", $conversation[$i]['message']); ?></div>

在你的情况下你需要这样的东西:

jsBin demo

$('#post').click(function(){

  var copyThis = $('#textarea').val().replace(/\n/ig, '<br />');  
  $('#result').html( copyThis );

});