Julian Hofmann: / (PHP) Zeilen und (keine) Umbrüche

Beitrag lesen

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