Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/09/2009, 21:49
neiker
 
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Como truncar un string a n-caracteres sin truncar palabras [APORTE]

Gracias, no se me habia ocurrido hacerlo de esa forma.
Modifique un poco la funcion para que agregue una cadena al final del recorte (por ejemplo puntos suspensivos)

Código PHP:
    function truncate ($str$length=30$trailing='...') {
        
//    Cadena a truncar, Longitud a truncar (por defecto 30), Cadena a añadir (por defecto puntos suspensivos)
        
        
if (strlen($str)>$length) { //Si el largo de la cadena supera lo que especificamos
            
$pals explode (' ',$str); //Crea un array donde cada elemento es una  palabra
            
$str2='';
            foreach (
$pals as $pal){  //Recorre el array y va agregando cada palabra en $str2 hasta que el largo de $str2 supera el largo maximo
              
$ant  $str2;
              
$str2 $str2.' '.$pal;
              if (
strlen($str2)>$length){
                
$str2=$ant $trailing;
                break;
              }
            }
            return 
$str2
        } else { 
//Si la cadena está dentro del tamaño especificado la devuelve sin hacer cambios
            
return $str;
        }
    } 
Espero les sirva..
Saludos!