yo pienso, que lo mejor es limpiar el formato y cortar ...
imaginemos (que fuera BBCode/HTML)
Código:
<p><em>okoko<span>ok</span>kokook</em></p>
si lo cortas a 20 caracteres... como piensas corregirlo ???
quedan demasiado abiertos los tags, y se pierde la paridad ...
bueno .... si, hay formas ... técnicas, pero son muy a la fuerza bruta ... vaya, no son lo ideal ....
(demás, terminan rompiendo el formato mas que corregirlo)
PDTA: si, estoy divagando ... pero es verdad, suerte!