Zeilenumbrüche in PHP

von Patrick
04.05.2020
Jetzt PHP programmieren lernen

Längere Texte unterteilen wir mit Zeilenumbrüchen, um eine bessere Übersichtlichkeit zu gewährleisten.
In normalen Texten ist das recht einfach, in HTML-Dokumenten müssen wir dafür Tags verwenden.
Wie das in PHP funktioniert, zeige ich dir hier.

1. Zeilenumbrüche in PHP

Meistens verwenden wir, um Zeilenumbrüche zu bewirken, \r oder \n. In einem HTML-Dokument hat das allerdings keinen Effekt.

echo "Hallo \n Welt";
// Hallo Welt

Wenn du PHP als Kommandozeilentool verwendest, wird dir in der Ausgabe ein Zeilenumbruch angezeigt. Im Browser ist das nicht der Fall.
Um daraus auch im Browser einen Zeilenumbruch zu machen, kannst du den entsprechenden Header in deinem PHP-Dokument definieren.

header('Content-type: text/plain; charset=utf-8');
echo "Hallo \n Welt";
// Hallo
// Welt

Allerdings ist das für die wenigsten Anwendungsfälle geeignet, da dann alle HTML-Tags als einfacher Text angezeigt werden.
Einen einfachen Zeilenumbruch erzeugt das Tag <br> in HTML.

echo "Hallo <br> Welt";
// Hallo
// Welt

2. nl2br und wordwrap

PHP stellt verschiedene Funktionen zur Verfügung, um mit Zeilenumbrüchen zu arbeiten. nl2br zum Beispiel wandelt “\n” in “<br>\n” um.

$hallo = "Hallo \n Welt";
echo nl2br($hallo);
// Hallo
// Welt

Dazu gibt es noch die Funktion wordwrap, welche automatisch nach einer gewissen Anzahl Buchstaben einen Zeilenumbruch einfügt.

$hallo = "Hallo Welt";
echo wordwrap($hallo);
// Hallo Welt
echo wordwrap($hallo, 4);
// Hallo Welt

Im vorigen Beispiel wurde wordwrap nur mit 2 Parametern aufgerufen, nämlich dem Text und der Anzahl Buchstaben, nach der ein Zeilenumbruch eingesetzt wird.
Die Funktion verwendet hierfür standardmäßig ‘\n’.
Du kannst stattdessen auch einen eigenen Wert mit dem dritten Parameter angeben, zum Beispiel “<br>”, damit dies auch in HTML-Dokumenten wie erwartet funktioniert.

echo wordwrap($hallo, 4, '<br>');

Output:

Hallo
Welt

Mit dem vierten Parameter kannst du angeben, ob Wörter geteilt werden sollen. Standardmäßig erfolgt die Teilung erst nach dem Ende eines Wortes.

echo wordwrap($hallo, 4, '<br>', TRUE);

Output:

Hall
o
Welt

3. Fazit

PHP stellt mit wordwrap und nl2br Funktionen zur Verfügung, mit denen es für uns einfach ist, Zeilenumbrüche automatisch einfügen zu lassen.

Wenn du noch Fragen, Kritik, Lob oder Anmerkungen hast, schreib bitte einen Kommentar!



Bislang gibt es keine Kommentare. Markier dein Revier und sei der Erste!

Schreibe einen Kommentar

Das könnte dich auch interessieren