I testi in questione devono solo dare un'idea di ciò di cui si parla, non devono essere "belli", quindi nessuna formattazione è più che accettabile, quella la si troverà nell'articolo completo e molte volte è così che si trova sui vari siti.

L'ideale sarebbe quello di poter inserire un elemeno, un tag, in una posizione del testo dove io voglio che venga "tagliato".
Questo potresti farlo, all'interno dell'articolo metti una cosa tipo [more] e quindi cercando questa particolare sequenza di caratteri potrai decidere cosa fare, per esempio per il testo completo lo elimini prima di mostrare l'articolo sulla pagina con str_replace() e per il testo abbreviato ne cerchi la posizione con strpos() ed usi la posizione rilevata in substr() per tagliare il testo fino a lì.