Jestem trochę zdezorientowany, gdy wstawię tekst przechowywany w MySQL w div używam następującego zdania, aby wstawić tekst:

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

To zdanie działa dobrze, ale gdy użytkownik wprowadź nowy komunikat w textlacea i naciśnij przycisk Wyślij, umieściłem ten tekst w Div_holder i "N" Nie stawiaj skuteczności.

Jaki jest odpowiednik, którego powinienem używać w JavaScript lub Jquery?

Dzięki.

0
domoindal 17 wrzesień 2012, 21:26

3 odpowiedzi

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

W twoim przypadku potrzebujesz czegoś takiego:

JSBIN DEMO

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

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

});
0
Community 20 czerwiec 2020, 09:12

Spowoduje to wygenerowanie nieprawidłowego HTML. Będziesz mieć grupę </p> bez <p> Jeśli chcesz zastąpić \n za pomocą nowej linii, spróbuj <br /> zamiast </p>., jak sugerowano powyżej mojego @Marcb Możesz również spróbować wymienić \r\n.

1
Nate 17 wrzesień 2012, 17:28

Wymień </p> za pomocą <p> lub <br /> i będzie działał. Ponadto, jeśli używasz p, dając CSS do p będzie tak pomocny:

p {margin: 0 0 15px;}
1
Praveen Kumar Purushothaman 17 wrzesień 2012, 17:29