Si deseas tener una función bastante sencilla, útil, funcional, ligera y en PHP, entonces dale un vistazo al siguiente código que nos permitirá truncar una cadena de texto cualquiera usando PHP.

Logo PHP

El funcionamiento de esta función es bastante fácil de entender. Lo que haremos será darle dos parámetros a la función, que llamaremos truncate, el primero es la cadena de texto y el segundo será la longitud a truncar.

Al final de esta cadena truncada de texto se añadirán puntos suspensivos. Por ejemplo, si tenemos una cadena $texto y le pasamos la siguiente función truncate($texto, 47), lo que obtendremos será:

Antes:

Esta es una cadena de texto que se muestra como ejemplo para que vean el funcionamiento del truncate.

Después:

Esta es una cadena de texto que se muestra co…

El código de la función truncate, que definiremos, es el siguiente:

function truncate ($str, $length=10, $trailing='...')
{
/*
** $str -cadena a truncar
** $length - longitud a truncar
** $trailing - el fin de la nueva cadena, por defecto: "..."
*/
	  // take off chars for the trailing
	  $length-=mb_strlen($trailing);
	  if (mb_strlen($str)> $length)
	  {
		 // la cadena excede la longitud, entonces añade los puntos suspensivos
		 return mb_substr($str,0,$length).$trailing;
	  }
	  else
	  {
		 // si la cadena ya es lo suficientemente corta, devuelve la cadena
		 $res = $str;
	  }
	  return $res;
}

Si quieren cambiar los puntos suspensivos solo cambian la cadena por defecto dentro de la función. Como ven, esta función es ideal para mostrar un resumen en PHP, es más, la usé para un proyecto en la universidad.

Cualquier duda u optimización, observación o recomendación, es bienvenida 😉

Via: PHP Code

Etiquetas: ,

Comentarios ( 1 ) en: Truncar una cadena de texto con PHP
  • UniversidadPeru dijo:

    Mmm… no por ser fastidioso, pero no sería más simple y sencillo ENSEÑAR y APRENDER a utilizar la función substr, en vez de crear toda esa función nueva?…

    $resultado=substr($tucadena,0,$longitud);
    print($resultado);

    Donde dice $tucadena, ingresan el texto que quieran truncar, y en longitud, a cuantos caracteres quieres que la función corte la cadena…

    Eso es todo!

    Suerte!