Take the text straight from a text area, complete with newlines and save in db field. OK, you need to addslashes, remove html tags but basically normal text in the db, or maybe text in a text file.
if you are outputting to page body text, use nl2br() to show line breaks. If it goes into a textarea for edit, don't use nl2br()
Demo script:-
<?php
if (isset($_GET['sampletext'])) {
echo "<h4>With newlines only</h4>";
echo $_GET['sampletext'];
echo "<h4>Using nl2br()</h4>";
echo nl2br($_GET['sampletext']);
echo "<hr>";
}
?>
<HTML>
<HEAD>
<meta Name="generator" content="PHPEd Version 3.1.2 (Build 3165)">
<title>Text area sample</title>
</HEAD>
<BODY>
<FORM method="GET">
<p>Type some text
with linebreaks<br>
and submit</p>
<TEXTAREA name="sampletext" rows="5" cols="30"><?=$_GET['sampletext']?></TEXTAREA>
<br>
<INPUT TYPE="SUBMIT" value="Submit text">
</FORM>
</BODY>
</HTML>