Limitar número de Palabras en PHP / Truncar texto largo

Esta función wordlimit sirve para truncar o cortar un texto en un determinado número de palabras, es parecido a lo que hace la función get_the_excerpt() de wordpress;  aquí puedes indicar el número de palabras a extraer y adicionalmente agregar un texto al final (Leer más, «…», Read more).

Recibe 3 parámetros, el texto completo a truncar, el número de palabras que tiene que extraer y finalmente el texto a adicionar si es que ha truncado el texto (si tiene menos palabras que lo que se solicitó, no se agrega). es solo para texto plano.

/*
* Trunca un texto largo según el numero de palabras que se indique, y le agrega un texto adicional como los 3 puntos seguidos.
*
* @param	string      El texto que será truncado
* @param        length      Número de palabras que traeremos
* @param        ellipsis    Texto adicional que se concatenará al cortarse la cadena
*  
*/
function wordlimit($string, $length = 50, $ellipsis = "...")
{
    $words = explode(' ', $string);
    if (count($words) > $length)
    {
            return implode(' ', array_slice($words, 0, $length)) ." ". $ellipsis;
    }
    else
    {
            return $string;
    }
}

Esta función la uso para hacer una breve descripción del tema que estoy hablando, ya sea para enviar por email o mandarlo a twitter, facebook, etc.

3 Comentarios para “Limitar número de Palabras en PHP / Truncar texto largo”

  1. Resulto una función muy util, gracias

  2. Hola encontre otra version, espero que no lo tomes como spam, me tomare el atrvimiento de pegartela

    function myTruncate($texto, $limite, $romper=».», $pad=»…») {

    if(strlen($texto) <= $limite)//Cuenta i
    {
    return $texto;
    }

    if(false !== ($rumptura = strpos($texto, $romper, $limite)))
    {
    if($rumptura if(false !== ($rumptura = strpos($texto, $romper, $limite)))

    QUE QUIERE DECIR false !==

    DE ANTEMANO GRACIAS SI M E RESUELVES LA DUDA

  3. hola necesito ayuda como puedo limitar la fecha para que no se pase de este año 2015

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *