Skip to content

Funktion der Woche: nl2br()

2012 January 4
by Matthias Dunkel

Nach einer kleinen Pause möchte ich euch wieder mit einem Funktion-der-Woche-Post beglücken. Diese Woche mit der Funktion nl2br()

nl2br() fügt vor allen Zeilenumbrüchen (z.B. \n) den HTML-Tag für eine neue Zeile ein: <br />

Wofür könnte ich diese Funktion gebrauchen?

Oft brauchte ich nl2br() wenn ich den Inhalt aus einer Textarea auf der Website anzeigen will. Oder aber auch wenn man auf einer Website eine .txt-Datei ausgibt.

Ich gebrauche die Funktion also immer dann, wenn ich einen mehrzeiligen Text direkt auf der Website ausgeben will.

Beispiel

Natürlich darf ein Beispiel nicht fehlen. Nehmen wir mal folgende HTML-Seite:

<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>R&uuml;ckmeldung</title>
</head>
<body>
    <form action="rueckmeldung.php" method="POST">
		<label for="kommentar">Ihre R&uuml;ckmeldung:</label> <br />
		<textarea name="kommentar" id="kommentar" rows="5" cols="30"></textarea> <br />
		<input type="submit" value="Abschicken" />
	</form>
</body>
</html>

Wie man sieht sendet das Formular den Inhalt eines mehrzeiligen Textfeldes an das PHP-File “rueckmeldung.php”:

echo "<b>Sie haben uns folgende R&uuml;ckmeldung geschickt: </b><br />";
echo nl2br($_POST["kommentar"]);

Wenn ihr nun einen mehrzeiligen Text eingebt, wird dieser auch wieder mehrzeilig dargestellt. Wenn ihr das nl2br() rausnehmt, würde alles immer auf einer Zeile ausgegeben…

Das zweite Argument

Man kann diese Funktion auch mit einem optionalen zweiten Parameter aufrufen. Dieser legt fest ob XHTML-kompatible Zeilenumbrüche verwendet werden sollen oder nicht. Es wird ein boolescher Wert erwartet. Also true wenn ein XHTML-kompatibler Zeilenumbruch verwendet werden soll, false wenn nicht. Wenn ihr ihn nicht angebt, werden XHTML-kompatible Zeilenumbrüche verwendet…

Ein XHTML-kompatibler Zeilenumbruch ist übrigens “<br />”. Ein “normaler” Zeilenumbruch wäre “<br>”. Man beachte den Slash vor der schliessenden eckigen Klammer.

Weiterführende Links

Wenn dir dieser Artikel gefallen hat, kannst du meinen RSS Feed abonnieren um immer auf dem Laufenden zu bleiben. Natürlich kannst du mir auch auf Twitter folgen oder mich auf Google+ zu einem Kreis hinzufügen.

One Response leave one →
  1. Florian permalink
    January 8, 2012

    Die Funktion kannte ich noch nicht, danke für den Tipp!
    Hätte mir die Funktion sonst wohl selbst programmieren müssen…

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS