Hallo,
Ich würde das so machen:
*Html-tags entfernen
Am besten mit strip_tags().
*Text ohne HTML-Tags in ein array splitten (mit explode() oder split() ), sodass jedes Wort einen eigenen Array-Eintrag hat. Im einfachsten Fall einfach immer an Leerzeichen trennen.
Zum Trennen würde ich preg_split('/\s+/', $text) verwenden. So werden auch Zeilenumbrüche und mehrfach vorkommende Leerzeichen als Wortgrenzen erfasst.
*Solange Wörter aus den Array aneinander ketten, bis die maximale Länge überschritten wird oder gerade unterschritten wird.
Aber dabei ist zu beachten, dass die jetzt fehlenden Leerzeichen wieder mitgezählt und beim Zusammenbauen der Teilstrings eingefügt werden.
MffG
EisFuX