Can you make newline characters \n display as breaks <br />?

27,667

Solution 1

How about HTML/CSS? If you put your text inside a <pre> tag, it will show all newlines exactly as they were. Alternatively, you can achieve the same effect by applying the CSS style white-space:pre to any element.

Don't forget to HTMLencode it still (< to &lt; etc.), otherwise it will all break apart at the first angle bracket.

Solution 2

Just add this white-space css style property to render Multiline texts :

.multiline
{
   white-space: pre-wrap;
}

and then :

<div class="multiline">
  my
  multiline
  text
</div>

now newlines will render like br elements.

Solution 3

white-space CSS works fine but for cross-browser compatibility

.abc {
  word-wrap: break-word;      /* IE 5.5-7 */
  white-space: pre-wrap;      /* Modern browsers */
}

Your Html

<div class="abc">
 Lorem 
 Ipsum 
 is 
 simply 
 dummy
</div>

MDN Source

Share:
27,667
James
Author by

James

Updated on October 30, 2022

Comments

  • James
    James over 1 year

    I'm trying to display emails with IMAP. When the email is text though, the newlines \n don't display properly. I'd rather not convert them to breaks < br /> because if the user wanted to reply to that email, it would now be in HTML instead of plain text. Is there perhaps a javascript function that could display it as a line break without changing the code?