lo que se me ocurre seria algo haci
Código PHP:
<?php
function cortar_frase($frase_entrada,$cortar){
//aqui cambiamos los caracteres que no reconose a otro caracter que sea casi imposible de aparece en la frase que quieras cortar yo escogi este ||
$frase_entrada = str_replace("&","||",$frase_entrada);
$frase_entrada = str_replace(";","||",$frase_entrada);
$frase_corta = substr ($frase_entrada , 0 , $cortar); // obtener la frase cortada.
$palabras = str_word_count ($frase_corta , 1); // obtener array con las palabras.
$total_palabras = count ($palabras)-1; // contar total array elementos y restar 1 elementos
$palabras = array_splice ($palabras , 0 , $total_palabras); // le quitamos la ultima palabra.
$frase_salida = implode (' ', $palabras); // y concatenamos con el espacio hacia una cadena.
$frase_salida .= "..."; // se añaden los puntos suspensivos a la cadena obtenida..
//aqui volvemos transformar los caracteres a su estado normal
$frase_salida = str_replace("||","&",$frase_salida);
$frase_salida = str_replace("||","&",$frase_salida);
return $frase_salida;
}
?>
es una idea pero lo mas probable que Cluster tenga una mejor jejeje
salu2