Das Umwandeln von HTML-Symbolen ist im letzten Artikel mit htmlentities gelöst worden, nun geht es um ein weiteres Problem, das bei Foren und anderen Webanwendungen, bei denen die Besucherinnen und Besucher Text eingeben und hochladen können, entsteht.
Denn es kann passieren, dass die Zeilenumbrüche, die die Leute im Text vorgesehen haben, verschwinden, sobald der Text in der Datenbank abgespeichert wird. Um dies zu unterbinden, gibt es den PHP-Befehl nl2br, der für die gewünschten Zeilenumbrüche sorgen kann und damit für die angestrebte Darstellung und Aufteilung des Textes sorgt.
Webhosting mit viel Software bei Alfahosting (Affiliate-Link)
<?php
$beispieltext = "Das ist ein
zweizeiliger Text";
echo nl2br($beispieltext);
?>
In diesem simplen Beispiel ist der Text zweizeilig, obwohl er in eine Zeile locker gepasst hätte. Aber es ist kein BR-Tag (break = Umbruch) eingebaut, wie er unter HTML möglich ist. Hier ist es eine bewusste Übung von mir, normalerweise passiert dies im Text nach dem Speichern in der Datenbank, wobei es vom Betriebssystem abhängt, a) wie dieses mit dem Text beim Speichern und b) beim Laden aus der Datenbank umgeht.
Der nun verwendete nl2br-Befehl setzt einen br-Tag ein, wobei man den Unterschied zwischen Code und Ausgabe nicht merkt. Erst wenn man sich den Quellcode (Code kopieren, als PHP-Datei speichern und im Internet aufrufen, dann rechte Maustaste und Quelltext wählen) ansieht, erkennt man, dass der Zeilenumbruch deshalb im Internet zu sehen ist, weil ein BR-Tag eingebaut wurde.
Bei diesem Supertext wäre es gleich gewesen, bei einem langen Text, bei dem alle Zeilenumbrüche verschwinden, ist das eine schon viel wichtigere Möglichkeit, mit Text auf Basis von PHP umzugehen. Der Befehl ist simpel, kann aber lebensnotwendig sein - abhängig von Betriebssystem und Projekt.
Webhosting bei Alfahosting - jetzt gratis testen! (Affiliate-Link)
PHP + Text ist ein sehr wichtiges Thema in vielen Skripte, die mit PHP programmiert werden. Denn man hat es oft mit Text zu tun, den externe Personen in Formulare eingeben - inklusive in Redaktionssysteme. Der Text soll aber perfekt aussehen und daher braucht es Werkzeuge, um ihn zu hinterfragen, zu kürzen, zu ersetzen oder überhaupt zu löschen.
Die Basiswerkzeuge können dabei helfen, dass man unnötige Leerzeichen in die Wüste schickt oder dass man den Text in Großbuchstaben umwandelt - vollkommen automatisch, versteht sich. Auch die Aufteilung eines vorgegebenen Textes mittels explode in ein Array ist als Voraussetzung für weitere Bearbeitungen wichtig.
Und dann gibt es noch viele weitere Möglichkeiten, was mit dem Text gemacht werden kann. Man kann mit substr den Text auf die gewünschte Länge kürzen, man kann aber auch eine Abfrage durchführen, ob der Text eine bestimmte Zeichenkette beinhaltet. Mit str_replace kann man überhaupt gleich den Text ersetzen oder löschen und mit htmlentities die Sonderzeichen codieren.
Themenseiten
Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen
Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel
Praxisartikel