Sven M.: / (PHP) Zeilen und (keine) Umbrüche

Hallo Forum,

ich hätte da zwei Fragen:

Wie kann man vermeiden, dass z.B. durch ein extrem langes Wort eine Tabellenzelle auseinandergezogen wird (z.B. in einem Gästebuch oder Forum). Kann man solche Wörter irgendwie spalten (eventuell mit mit PHP)?

Wie kann man einen Zeilenumbruch vermeiden? Ich meine, so wie z.B. hier im Forum. Da werden bei langen Threads Scrollbars angezeigt. Normalerweise würde der Text ja automatisch umbrechen.

Danke im Voraus,
Sven M.

  1. Hallo

    [extrem langes Wort]
    1. Text trennen und nur Zeichenketten zwischen Leerzeichen betrachten (also Wörter).
    2. Deren länge feststellen
    3. Nach gewünschter maxLänge abschneiden
    4. Verbleibende Zeichen in nächste Zeile schreiben
    5. ...und das ganze solange wie Wörter da sind.

    Weil ich dir Funktion grad zur Hand habe:

    function nolongwords($text,$maxlaenge) {
        $text_arr = explode(" ",$text);
        $text="";
        for ($i=0;$i<count($text_arr);$i++){
            $text_arr[$i].=" ";
            $laenge = strlen($text_arr[$i]);
            if($laenge>=$maxlaenge){
                $word1 = substr($text_arr[$i],0,$maxlaenge);
                $rest = substr($text_arr[$i],$maxlaenge,$laenge);
                $zaehler = $laenge / $maxlaenge;
                $zaehler = round($zaehler);
                $words = "";
                for($z=1;$z<$zaehler;$z++) {
                   $getword = substr($rest,0,$maxlaenge);
                   $words.= $getword." ";
                   $rest = substr($rest,$maxlaenge,$laenge);
                }
                $text.= $word1." ".$words;
            }
            else
                $text.=$text_arr[$i];
        }
        return $text;
    }

    Grüße aus Würzburg
    Julian

    1. Super, danke!
      Viele Grüße, Sven