Puoi usare una funzione del genere:

Codice PHP:
function cut_frase($testo$max_cut 50)
{
// Conta le parole nel testo
$num_word strlen($testo);


if(
$num_word $max_cut)
{
$testo substr($testo0$max_cut) . "...";
} else {
$testo $testo;
}

return 
$testo;