Umbruch in Satz nach xy Zeichen

campari

Erfahrenes Mitglied
Moin,

der String "kursname" besteht aus mehreren Wörtern.
Wenn die Summe der Zeichen von "kursname" grösser als 75 ist, soll die Zeichenkette zwei mal gebrochen werden:
das erste mal beim Wort vor dem 40. Zeichen getrennt werden.
Das zweite mal beim Wort vor dem 75. Zeichen.

Der Umbruch verläuft aber immer fehlerhaft.

Wenn der String aus ein-Zeichen-Wörtern besteht, teilt er korrekt. Aber wenn es reale Wörter sind, teilt er manchmal mitten im Wort, machmal überlappt es sich. Kann da kein Muster erkennen. Auf jeden Fall läuft was falsch...

PHP:
$kursnamea = substr($kursname, 0, strpos(wordwrap($kursname, 40, "*YYY*"), "*YYY*"));
$kursnamea = "\" ".$kursnamea;
$kursnameb = substr($kursname, strpos(wordwrap($kursname, 40, "*YYY*"), "*YYY*"), strpos(wordwrap($kursname, 35, "*YYY*"), "*YYY*"));
$kursnamec = substr($kursname, strpos(wordwrap($kursname, 75, "*YYY*"), "*YYY*"));
$kursnamec = trim($kursnamec)." \"";
 
wie wärs mit
wordArr = explode(" ", dein_string);
newWordArr = array();
signCount = 0;
inserted = false;
foreach(wordArr as t_word) {
signCount += strlen(t_word);

if ((signCount > 40) && !inserted) {
inserted = true;
newWordArr[] = "<br>"
}
newWordArr[] = t_word;
}

deinNeuerString= implode(" ", newWordArr);
 
Gute Idee.
Allerdings wird das in ein PDF geschrieben. Und da kann ich kein Break verwenden.
Deshalb muss die Zeichenkette in einzelne "Häppchen" umgwandelt werden.
 
Zurück