Deswegen nehme ich ja die ersten 50 Zeichen plus die Zeichen, die bis zum nächsten Leerzeichen folgen... Das kann man mit string-Funktionen nicht machen, oder?
Dann hast du aber mehr als 50 Zeichen :) mit explode() am gewünschten Trennzeichen (Leerzeichen), entfernen des letzten Elements und dann wieder implode() mit Leerzeichen :) ist das problem auch schnell gelöst und ihmo eben einfacher verständlich (vor allem wenn man den Code schnell überfliegt).
Weiters ist dann immer noch nicht bedacht (in beiden Fällen) dass ungeschlossene HTML-Elemente entstehen können oder dass mitten in einem HTML-Element abgebrochen wird.
Da wirds mit einem regulären Ausdruck schon extrem komplziert (wenn nicht unmöglich).