Sakur Enseleit: Frage zu diesem Zeilenumbruchscript

Beitrag lesen

Hallo Forum!

Habe folgende Funktion um Zeilen, die länger als 45 Zeichen sind, in meinem Gästebuch umzubrechen:

function cut_long_word ($text,$len=40){
 $neutext=$text;
 do {
  $text=$neutext;
  $neutext=preg_replace('~(^|\s)(\S{'.$len.'})(\S)~S', '\1\2 \3', $text);
 }
 while ($neutext!=$text);
 return $neutext;
}

$text="jadshvkshdajhsfajhshsdjhasjbahjwafwrtzwrhgkejgasdfvkadfsgvkg";
Aufruf cut_long_word($text,45);

Das Problem ist, dass auch HTML Entitäten und HTML Zeichen (zb. wenn jemand einen Link einbaut) umgebrochen werden. Kann man diese Funktion irgendwie so ändern, das HTML Entitäten als 1 Zeichen gezählt und HTML Code überhaupt ausgelassen wird? Denn der ist ja dann im sichtbaren Text nicht für die Wortlänge ausschlaggebend.

Viel Hoffnung habe ich ja nicht, aber fragen kostet nichts :)

Schönen Abend noch!