Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/01/2003, 15:39
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Aquí va mi versión .. he intentado usar el maximo numero de funciones nativas de PHP .. pues PHP ofrece una GRAN variedad de funciones (sobre todo para manejo de arrays y strings) ..

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
   
$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..

  
return $frase_salida;
}

$frase="Esto es una prueba de esta funcion.";

echo 
'Frase original: '.$frase.'<br>';
echo 
'Frase cortada: '.cortar_frase($frase,10);

?>
El código es muy básico .. pero hace su función. El numero de caracteres a cortar no se tiene en cuenta los caracteres añadidos ... Tampoco se evalua si la ultima palabra es cortada o no .. simplemente se elimina la ultima palabra q resulte de "cortar" la frase origen.


Un saludo,