Tengo la siguiente funcion para coertar textos y añadir los puntos suspensivos.
Código PHP:
   function cortar_frase($frase_entrada,$cortar){
   $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
   if($total_palabras>8){
   $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..
   }else{
   $frase_salida =$frase_entrada;
   }
  return $frase_salida;
} 
    El problema de me da cuando le paso una cadena de texto con signos de puntuacion, tildes y demas.
Si paso la cadena tal cual los caractares con tildes los sustiyulle por un espacio en blanco.
Si paso la cadena con
Código PHP:
   htmlentities($cadena); 
    Alguien me puede orientar por que me sucede esto.
Gracias de antemano.
 
 
 Cortar frase y signos de puntuacion
 Cortar frase y signos de puntuacion 

