nl2br -> nl2p

Moin moin,

ich weiß, das Thema wurde schon tausendmal durchgekaut und ich hab auch selber schon die Lösung meines Problems gefunden, bin aber zu blöde um Sie in mein Script einzufügen… :eek:

[CODE]function nl2p($string, $line_breaks = true, $xml = true) {

$string = str_replace(array(‚

‘, ‚

‘, ‚
‘, ‚
‘), ‚‘, $string);

// It is conceivable that people might still want single line-breaks
// without breaking into a new paragraph.
if ($line_breaks == true)
return ‚

‘.preg_replace(array(„/([\n]{2,})/i“, „/([^>])\n([^<])/i“), array(„

\n

“, ‚$1<br‘.($xml == true ? ’ /’ : ‚‘).‚>$2‘), trim($string)).‚

‘;
else
return ‚

‘.preg_replace(
array(„/([\n]{2,})/i“, „/([\r\n]{3,})/i“,„/([^>])\n([^<])/i“),
array(„

\n

“, „

\n

“, ‚$1<br‘.($xml == true ? ’ /’ : ‚‘).‚>$2‘),

trim($string)).'</p>'; 

}[/CODE]
Das hier sollte aus „nl2br“ dann „nl2p“ machen aber ich schaffe es nicht es in meinen Code einzufügen: :frowning:

<?php $abfrage = "SELECT * FROM table ORDER BY id ASC"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_array($ergebnis)) { echo "<p>"; echo nl2br($row["content"]); echo "</p>"; } ?>

Merci und vielen Dank! :slight_smile:

[PHP] echo „

“;
echo nl2br($row[„content“]);
echo „

“;[/PHP]
ersetzen durch
[PHP]
echo nl2p($row[„content“]);
[/PHP]
Das sind Grundlagen, die man auch als Anfänger hinbekommen sollte!

Da stand ich wohl massiv aufm Schlauch… Vielen Dank für den Denkanstoß! :slight_smile:

BTW:

Der Code oben ist irgendwie müll, da er den gesamten Text zwar in

Text

einrahmt, dazwischen aber alles mit
ersetzt.

Habe hier eine kürzere und bessere Variante gefunden:

function nl2p($text) { $text = '<p>' . $text . '</p>'; $text = str_replace("\r\n\r\n", "</p><p>", $text); $text = str_replace("\n\n", "</p><p>", $text); $text = str_replace("\r\n", "<br />", $text); $text = str_replace("\n", "<br />", $text); return $text; }