Home > PHP > Textumbruch bei langen Wörtern erzwingen

Textumbruch bei langen Wörtern erzwingen

Bei der Validierung von Eingaben aus einem Formular muss man schon so einige Sachen beachten. Darf der Nutzer in das Feld zum Beispiel nur Buchstaben oder Zahlen eingeben, oder gar beides und wie lang darf die Zeichenkette sein? In der Regel wird der Nutzer auch URLs in das Feld eintragen – verhindern kann man das nur durch Filterung. Und hier kann es sehr schnell passieren, dass die URL etwas länger wird. Das Ergebnis ist also eine lange Zeichenkette, die nicht selten mal schnell über 50 Zeichen lang sein kann. Die Eingabe durch den User war zwar valide, kann aber im Template das Layout durcheinander bringen.

Besonders dann, wenn die Daten ausgelesen und zeilenweise in einer Tabelle angezeigt werden, kann durch den langen String der URL eine Spalte ausgedehnt werden, sodass die äußeren Spalten aus dem Layout herausragen und andere Elemente überlappen. Dieses unschöne Ergebnis kann man mit einem automatischen Textumbruch ab einer bestimmten Zeichenanzahl erzwingen. Wörter, die beispielsweise über 30 Zeichen lang sind, gibt es dann doch recht selten im deutschen Wortschatz – und wenn doch, dann sind es meist zusammengesetzte Fachbegriffe aus mehreren Nomen oder lateinische Namen von Stoffen aus der Chemie oder der Pflanzen- und Tierwelt, aber das nur am Rande.

Die Wahrscheinlichkeit, dass es sich hierbei um eine Eingabe einer URL oder eines eher ausdruckstarken Wortes wie „Ahhhhhhhhhhhhhhhhhhhhhhhhhh“, „Ooooooooooooooooooooooooooh“ und dergleichen handelt, ist dann sehr hoch. Ob nun im Feld Titel, in der Beschreibung oder Kommentar, man sollte mit langen Wortketten überall rechnen. Um die Darstellung optimal zu halten, sollte also an den entsprechenden Stellen automatisch ein Umbruch erfolgen. In PHP gibt es dafür die Funktion wordwrap, die uns diese Arbeit abnimmt.

Überall dort, wo wir mit langen Wörtern und URL-Eingaben rechnen können, kann die PHP-Funktion folgendermaßen eingesetzt werden:

Wie man sieht, wird im zweiten Parameter die Anzahl der Zeichen eingegeben, ab wann ein Umbruch erfolgen soll. Im dritten optionalen Parameter kann man eine Zeichenkette eingeben, die als Trenner agiert. Dies kann ein br-Tag, ein unsichtbares Newline-Zeichen \n oder wie in diesem Beispiel auch ein Leerzeichen sein. Damit der Umbruch erfolgt, muss der letzte Parameter cut auf TRUE gesetzt werden. Der zweite Parameter – hier 20 – gilt als Maximallänge und das ein langer String wird spätestens nach der angegebenen Länge umgebrochen.

  1. Bisher keine Kommentare
  1. Bisher keine Trackbacks