2 nov. 2012

Reducir cadena de texto mostrando puntos suspensivos

Tutorial PHP: Reducir cadena de texto mostrando puntos suspensivos

En ocasiones disponemos de una cadena de texto cuyo tamaño es superior al contenedor donde ésta debe mostrarse, en estas ocasiones viene muy bien disponer de la función reducir_texto.

La función reducir_texto tiene dos parámetros: La cadena de texto que se quiere reducir y el tamaño del texto que queremos mostrar.

A continuación os muestro el código mediante el cual podréis reducir una cadena de texto mostrando puntos suspensivos al final de la misma.

function recortar_texto($texto, $limite=100){
   $texto = trim($texto);
   $texto = strip_tags($texto);
   $tamano = strlen($texto);
   $resultado = '';
   if($tamano <= $limite){
      return $texto;
   }
   else{
      $texto = substr($texto, 0, $limite);
      $palabras = explode(' ', $texto);
      $resultado = implode(' ', $palabras);
      $resultado = '...';
   }
   return $resultado;
}

Ejemplo: Vamos a mostrar los primeros 24 caracteres de la siguiente cadena de texto; "En un lugar de la Mancha, de cuyo nombre no quiero acordarme"

// Asignamos el texto que queremos reducir a una variable
$CadenaTexto = En un lugar de la Mancha, de cuyo nombre no quiero acordarme;

// Realizamos la llamada a la función para mostrar 20 caracteres
echo recortar_texto($cadena, 24);

// Resultado mostrado en pantalla
En un lugar de la Mancha...