Foros del Web » Programando para Internet » PHP »

Mostrar resumen de contenidos.

Estas en el tema de Mostrar resumen de contenidos. en el foro de PHP en Foros del Web. 1.- Tengo una tabla en mysql que contiene información de noticias. 2.- los campos son id,titulo,fecha y contenido. 2.- Tengo una pagina php que lista ...
  #1 (permalink)  
Antiguo 10/01/2005, 12:11
 
Fecha de Ingreso: mayo-2004
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Mostrar resumen de contenidos.

1.- Tengo una tabla en mysql que contiene información de noticias.
2.- los campos son id,titulo,fecha y contenido.
2.- Tengo una pagina php que lista la información de esas noticias.
3.- quiero que cuando se muestre el campo contenido aparezca una determinada parte del contenido y luego agrege unos "..." ya que mas abajo hago un link que dice ver noticia completa.

Como lo hago?.

Gracias y saludos.
  #2 (permalink)  
Antiguo 10/01/2005, 12:53
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Podrías usar un simple substr, pero esto te cortaria la palabra al medio si cayera en una.
Así, que una solucion es armarte una funcion que haga esto, luego es pasarle dicho texto...seria algo asi:

Funcion:
<?php
function cortarStr($cadena, $cuantos){
$cadena .= ' ';
$puntos = (strlen($cadena)>=$cuantos)?'...':'';
$cadena = substr($cadena, 0, $cuantos);
$cadena = substr($cadena, 0, strrpos($cadena,' '));
return $cadena.$puntos;
}
?>
Luego solo tendrías que hacer:
<?php
echo cortarStr($contenido);
?>
Acá tendrías un problema, si el texto es formateado, o sea, si contiene tags html...pero como no nombraste ese problema, estimo que es plano.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 10/01/2005, 13:04
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
así es, si el texto es plano anda de 10, pero si por ejemplo, el texto es un link, tomara como caracteres tambien el <a href="..."> por lo que de texto te quedara poco y nada...

Podrías hacer que, antes de usar la funcion cortarStr() lo pase por una funcion que limpie todos las etiquetas que tiene, eso lo podrías hacer un un srt_replace o similar(supongo).. asi te quedaria el texto limpio y si cortaria bien...
__________________
I Love Programming...
  #4 (permalink)  
Antiguo 10/01/2005, 13:09
 
Fecha de Ingreso: mayo-2004
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Asiii??

|| ********EDITADO**********||
| |
| YA LO CORREGÍ GRACIAS |
| |
||*************************||


no te entendi mucho, genero los resultados dentro de un while para listar todas las noticias, la variable echo("&message="); es porque despues cojo esto en flash.

ASi no me resulta que estoy ahciendo masl?? soy novato.

Código PHP:
<? 
$Servidor 
="localhost";
$Usuario  ="**";
$Password ="***";  
$NombreDB ="***";
$IdConexion mysql_connect($Servidor$Usuario$Password);
mysql_select_db($NombreDB$IdConexion);
$result2mysql_query("SELECT * FROM noticias "$IdConexion);
echo(
"&message=");

function 
cortarStr($cadena$cuantos){
$cadena .= ' ';
$puntos = (strlen($cadena)>=$cuantos)?'...':'';
$cadena substr($cadena0$cuantos);
$cadena substr($cadena0strrpos($cadena,' '));
return 
$cadena.$puntos;
}
while(
$row2 mysql_fetch_array($result2)){
echo 
"$row2[fecha]<br>$row2[titulo]cortarStr($row2[contenido]);<br><a href='asfunction:loadNEWS, noticias_full.php?item=$row2[id]'>See details here...</a>";
}
?>

Última edición por amcofre; 11/01/2005 a las 13:05 Razón: Ya lo Corregí
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:12.