yo tengo una funcioncita pero q corta por palabras, queda mucho mas "lindo" ya q puede pasar q la ultima palabra quede cortada ej automov...
Código PHP:
function cortar_texto_x_palabras($texto,$largo,$sufijo='...'){
$contador = 0;
$arrayTexto = explode(" ",$texto);
$texto = '';
while($largo >= strlen($texto) + strlen($arrayTexto[$contador])){
$texto .= ' '.$arrayTexto[$contador];
$contador++;
}
if($texto=='')
$texto.=substr($arrayTexto[0],0,$largo);
if(count($arrayTexto)>$contador)
$texto.=$sufijo;
return $texto;
}