Zeilenumbrüche mit PHP in Absätze verwandeln
In PHP gibt es die tolle nl2br Funktion, die Zeilenumbrüche von einem String automatisch in xHTML konformen <br /> ersetzt. Aber <br /> hat keine semantische Bedeutung… Eigentlich sind es ja Absätze, aber Absätze werden mit <p> und </p> definiert, was nun? Wir brauchen eine nl2p() Funktion.
Leider gibt es so eine Funktion nicht und glücklicherweise habe ich eine Lösung parat:
function nl2p($string) {
return '<p>' . preg_replace('/(\r\n|[\r\n])\s*(\r\n|[\r\n])/', '</p><p>', $string) . '</p>';
}
Diese Funktion nimmt sich 2 oder mehrere Zeilenumbrüche und ersetzt sie durch </p><p>. Da der erste Absatz kein Anfangstag hat und der letzte Absatz kein Endtag, fügt die Funktion es manuell hinzu.






Kommentar abgeben: