Foros del Web » Programando para Internet » PHP »

cortar parrafo por cantidad de caracteres y ademas por palabras

Estas en el tema de cortar parrafo por cantidad de caracteres y ademas por palabras en el foro de PHP en Foros del Web. Hola genteTengo esto para cortar un parrafo a los 250 caracteres Código PHP: function  resumen2 ( $string , $largo ) { $cincuentaprimeros =  substr ( $string ...
  #1 (permalink)  
Antiguo 22/02/2006, 08:50
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 14 años, 10 meses
Puntos: 1
cortar parrafo por cantidad de caracteres y ademas por palabras

Hola genteTengo esto para cortar un parrafo a los 250 caracteres

Código PHP:
function resumen2($string,$largo) {
$cincuentaprimerossubstr($string,0,$largo);
if (
$cincuentaprimeros!= ""){
echo 
$cincuentaprimeros."..."
}

El tema es que quiero que no me corte la ultima palabra osea que los limite aprox. 250 pero que deje terminar de escribir la palabra, ¿se enteinde?

Gracias
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #2 (permalink)  
Antiguo 22/02/2006, 09:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Hace un tiempo hice una función para lo que necesitas ..

http://www.forosdelweb.com/showpost....97&postcount=5


Un saludo,
  #3 (permalink)  
Antiguo 23/02/2006, 08:19
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 14 años, 10 meses
Puntos: 1
Hola Cluster ante todo muchas gracias te diria que es casi lo que necesito lo unico que tendria que modificar de tu funcion es que solo coloque los puntos cuando corto el texto osea si el texto en cuestion es mas corto de la cantidad de caracteres que yo indico no tendria que colocar ... se entiende, la verdad es que intente modificarlo y no obtuve buen resultado, si podrias indicarme como seria te lo agradeceria
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #4 (permalink)  
Antiguo 23/02/2006, 08:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En ese caso .. aplica la función si tu cadena es mayor a tantos caracteres .. Es decir, la función no la tocas para nada .. tu decides antes si aplicarla o no.

Código PHP:
<?
// la función ... incluyela ...

$cortar_a 10;
$frase_entrada"bnlña laslfdkjalsfd lkjasfdlk asldkf alskdfjlaskdfj"// ahí haces tus pruebas ..

if (strlen($frase_entrada) > $cortar_a){
  
$frase_final=cortar_frase($frase_entrada,$cortar_a){ 
} else {
   
$frase_final=$frase_entrada;
}

echo 
$frase_final;
?>
Un saludo,
  #5 (permalink)  
Antiguo 23/02/2006, 09:36
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 14 años, 10 meses
Puntos: 1
Gracias cluster, como es algo que tengo que llamar de varios lugares necesitaba colocarlo dentro de la funcion con lo cual me quedo asi lo probe y funciona, si ves algo raro por favor avisame

Código PHP:
<? 
function resumen2($frase_entrada,$cortar){ 
if (
strlen($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.. 
   
}else{
   
$frase_salida=$frase_entrada;
   }
  return 
$frase_salida

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

echo 
'Frase original: '.$frase.'<br>'
echo 
'Frase cortada: '.resumen2($frase,150)."<br>"
?>
Gracias
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #6 (permalink)  
Antiguo 23/02/2006, 09:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok, así está mejor.

Un saludo,
  #7 (permalink)  
Antiguo 23/02/2006, 14:48
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 14 años, 10 meses
Puntos: 1
ok gracias de nuevo
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 01:20.