Foros del Web » Programando para Internet » PHP »

Hacer ... en frases de mas longitud

Estas en el tema de Hacer ... en frases de mas longitud en el foro de PHP en Foros del Web. Hola, soy El Menda. A ver si me podeis ayudar. Tengo unos foros, y quiero mostrar los ultimos mensajes de éste. El problema que algunos ...
  #1 (permalink)  
Antiguo 06/01/2002, 15:28
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Hacer ... en frases de mas longitud

Hola, soy El Menda. A ver si me podeis ayudar. Tengo unos foros, y quiero mostrar
los ultimos mensajes de éste. El problema que algunos comentarios tienen tantas
palabras que no me caben. Por eso quiero hacer lo siguiente.
Los comentarios que tengan mas de 15 letras quiero que se corten. Pero no cortarse
directamente, sino con unos puntos suspensivos. Ejemplo:

Este foro me ha...

Y este seria el comentario entero:
Este foro me ha gustado mucho aunque es simple.


Lo entendeis ya??? Contestadme por favor. Gracias


Byez & GooD Byez
El Menda no te ayuda
  #2 (permalink)  
Antiguo 06/01/2002, 15:54
Avatar de Ferdy
Colaborador
 
Fecha de Ingreso: junio-2001
Ubicación: España
Mensajes: 1.430
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Hacer ... en frases de mas longitud

Bueno, pues algo así valdría<pre>&lt;?php
//
// string corte(string str)
//
function corte($str)
{
if (empty($str))
{
return &quot;&quot;;
}
else if (strlen($str)&gt;15)
{
return (substr($str,0,12).&quot;...&quot;);
}
else
{
return $str;
}
}
?&gt; </pre>
Salu2

- Fernando Pereda ( Ferdy )
<center><a href="http://www.ferdyx.org/firmas.php"><img src="http://www.ferdyx.org/reg_tira.jpg" border="0"></a></center>
  #3 (permalink)  
Antiguo 07/01/2002, 16:53
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Hacer ... en frases de mas longitud

Ok, pero cuando pongo esto no me sale nada en la pantalla, se queda en blanco. El campo que quiero imprimir es el $cuerpo. Ayuda!!!

Byez & GooD Byez
El Menda no te ayuda
  #4 (permalink)  
Antiguo 07/01/2002, 17:04
Avatar de Ferdy
Colaborador
 
Fecha de Ingreso: junio-2001
Ubicación: España
Mensajes: 1.430
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Hacer ... en frases de mas longitud

Porque es una función, deberías usarla así<pre>$campo = &quot;Hola a todo el mundo que me lea, esto es una prueba de la función corte&quot;;
$campo = corte($campo);
echo $campo;
</pre>

Salu2.Ferdy

- Fernando Pereda ( Ferdy )
<center><a href="http://www.ferdyx.org/firmas.php"><img src="http://www.ferdyx.org/reg_tira.jpg" border="0"></a></center>
  #5 (permalink)  
Antiguo 08/01/2002, 16:31
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Hacer ... en frases de mas longitud

Thanks

Byez & GooD Byez
El Menda no te ayuda
  #6 (permalink)  
Antiguo 15/01/2002, 13:37
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Hacer ... en frases de mas longitud

Ahora estoy teniendo problemas. Quiero poner esto pero me da error. A ver si lo arreglais. Gracias
&lt;?php
function corte($cuerpo)
{
if (empty($cuerpo))
{
return &quot;&quot;;
}
else if (strlen($cuerpo)&gt;11)
{
//AQUI NO SE COMO PONER EL MYSQL RESULT
return (substr($cuerpo,0,8).&quot;...&lt;br&gt;&quot;.mys ql_result($query, &quot;id&quot;).&quot;Blabla&quot;);
}
else
{
return $cuerpo;
}
}
$cuerpo = mysql_result($result, 0, &quot;cuerpo&quot;);
$cuerpo = corte($cuerpo);
echo $cuerpo;
?&gt;

Byez & GooD Byez
El Menda no te ayuda
  #7 (permalink)  
Antiguo 17/01/2002, 13:33
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Hacer ... en frases de mas longitud

Ayudadme por favor. Es muy sencillo. Como pongo esto para que no me de el error al imprimir el campo llamado id:

//AQUI NO SE COMO PONER EL MYSQL RESULT
return (substr($cuerpo,0,8).&quot;...&lt;br&gt;&quot;.mys ql_result($query, &quot;id&quot;).&quot;Blabla&quot;);

Byez & GooD Byez
El Menda no te ayuda
  #8 (permalink)  
Antiguo 17/01/2002, 20:01
 
Fecha de Ingreso: enero-2002
Ubicación: Dentro del corralón
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Hacer ... en frases de mas longitud

¿El id lo tenés que poner solo cuando ponés los puntos suspensivos?. Si lo tenés que poner siempre yo lo pondría fuera de la función después del echo $cuerpo;
Contanos un poco mas que necesitás hacer.
Saludos.

Leonardo D'Angelo
Buenos Aires
Argentina
  #9 (permalink)  
Antiguo 18/01/2002, 12:10
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Hacer ... en frases de mas longitud

Je, es verdad. Lo he puesto donde me decias y ya funciona. Gracias

Byez & GooD Byez
El Menda no te ayuda
  #10 (permalink)  
Antiguo 18/01/2002, 12:34
 
Fecha de Ingreso: enero-2002
Ubicación: Dentro del corralón
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Hacer ... en frases de mas longitud

Bueno, me alegro.
Saludos.

Leonardo D'Angelo
Buenos Aires
Argentina
  #11 (permalink)  
Antiguo 19/01/2002, 08:38
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Hacer ... en frases de mas longitud

Pues no, tengo que ponerlo donde dije antes, porque sino me lo añade mal. es como dije al principio. Ayudadme!!

Byez & GooD Byez
El Menda no te ayuda
  #12 (permalink)  
Antiguo 19/01/2002, 09:46
 
Fecha de Ingreso: enero-2002
Ubicación: Dentro del corralón
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Hacer ... en frases de mas longitud

Bueno, yo lo que haría es pasar un segundo argumento a la función cuerpo. Previo a llamarla cargo en otra variable (¿$id quizás?) el mysql_result de id y llamo a la función con 2 argumentos y en el return de puntos suspensivos en vez de concatenar mysql_result..., concateno el $id.
Fijate si anda porque no tengo para probarlo.
Suerte.

Leonardo D'Angelo
Buenos Aires
Argentina
  #13 (permalink)  
Antiguo 19/01/2002, 10:45
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Hacer ... en frases de mas longitud

Hola. Lo he puesto como me has dicho (lo que he hecho ha sido poner antes lo de row:
.....
$idt = $row[&quot;id&quot;];
return (substr($cuerpo,0,8).&quot;...&lt;br&gt;&quot;.$id t.&quot;Blabla&quot;);
.....
Bueno, vamos mejorando. ya no hay errores con el mysql. Pero cuando entra la page pone:
&quot;...&lt;br&gt;Blabla&quot;
¡Se salta el proceso del id!!!
A ver si me podeis decir que pasa. Gracias ;)

Byez & GooD Byez
El Menda no te ayuda
  #14 (permalink)  
Antiguo 19/01/2002, 12:30
 
Fecha de Ingreso: enero-2002
Ubicación: Dentro del corralón
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Hacer ... en frases de mas longitud

Yo haría esto.
&lt;?php
function corte($cuerpo, $id)
{
if (empty($cuerpo)) {
return &quot;&quot;;
}
else if (strlen($cuerpo)&gt;11)
{
//AQUI NO SE COMO PONER EL MYSQL RESULT
return (substr($cuerpo,0,8).&quot;...&lt;br&gt;&quot;.$id .&quot; Blabla&quot;);
}
else
{
return $cuerpo;
}
}
$cuerpo = mysql_result($result, 0, &quot;cuerpo&quot;);
$id = mysql_result($result, 0, &quot;id&quot;);
$cuerpo = corte($cuerpo, $id);
echo $cuerpo;
?&gt;
Saludos!

Leonardo D'Angelo
Buenos Aires
Argentina
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 17:06.