Foros del Web » Programando para Internet » PHP »

Problemas con substr($row2['an_cont'], 0, 600)

Estas en el tema de Problemas con substr($row2['an_cont'], 0, 600) en el foro de PHP en Foros del Web. Muy buenas, que tal? quería comentarles un problema que tengo. Tengo un gestor de anuncios, muy sencillo, en el cual se publican 5 anuncios (están ...
  #1 (permalink)  
Antiguo 25/08/2010, 12:53
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Mensaje Problemas con substr($row2['an_cont'], 0, 600)

Muy buenas, que tal?

quería comentarles un problema que tengo.

Tengo un gestor de anuncios, muy sencillo, en el cual se publican 5 anuncios (están paginados).

Tengo este código para que los muestre:

Código PHP:
Ver original
  1. <?php
  2.     $contenido_600 = substr($row2['an_cont'], 0, 600);
  3.     echo $contenido_600."...";
  4. ?>

El problema está, en que al poner para que solo me muestre los 600 primeros caracteres, se me queda así:



Y cuando le quito el substr, simplemente para que se imprima todo el contenido, queda así:


(Lo hice más pequeño para que vean el cambio)

Me estaña un montón que me pase esto, Yo creo que es problema del CSS, pero lo he estado revisando y no encuentro la raíz de tal.

Os dejo tanto el código entero de php como de css:

PHP
Código PHP:
Ver original
  1. <div class="cont">
  2.     <img src="images/spacer.gif" width="1" height="24" alt="" /><br />
  3.     <div class="dt mrg">
  4.         <div class="dr">
  5.             <div class="dc_contacto" style="width:700px">
  6.                     <div style="margin:0px 10px 0px 0px;">
  7.                         <img src="images/5t1.jpg" align="top" alt="" /><br />
  8.                         <div class="anuncio_logo">
  9.                             <img src="images/anuncios.jpg" alt="Anuncios" />                            
  10.                         </div><!-- Cierra anuncio -->
  11.  
  12.                         <div class="anuncio_cuerpo">
  13.                          
  14.                             <?php
  15.                            
  16.                             include('includes/conexion.php');
  17.  
  18.                             if(isset($_REQUEST['alln']) ){
  19.                                 # Query para seleccionar los anuncios
  20.                                 $anuncioFull = mysql_query("SELECT * FROM jsk_anuncios WHERE Idanuncio='".$_REQUEST['alln']."' ", $cnn);
  21.                                 while($anuncioPrint = mysql_fetch_assoc($anuncioFull)){
  22.                             ?>
  23.                                 <div class="anuncio_titulo">
  24.                                     <?php echo utf8_decode($anuncioPrint['an_tit']); ?>
  25.                                 </div>
  26.                                 <div class="anuncio_cont_mini">
  27.                                     <?php echo $anuncioPrint['an_cont']; } ?>
  28.                                 </div>
  29.                                 <div class="anuncio_leermas">
  30.                                     <a href="javascript:history.back(1)">Volver Atrás</a>
  31.                                 </div>
  32.                             <?php
  33.                                
  34.                             }else{
  35.                            
  36.                                 //Sentencia sql (sin limit)
  37.                                 $_pagi_sql = "SELECT * FROM jsk_anuncios ORDER BY Idanuncio DESC";
  38.                                
  39.                                 //cantidad de resultados por página (opcional, por defecto 20)
  40.                                 $_pagi_cuantos = 5;
  41.                                
  42.                                 //Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
  43.                                 include("includes/paginator.inc.php");
  44.                                
  45.                                 //Leemos y escribimos los registros de la página actual
  46.                                 while($row2 = mysql_fetch_array($_pagi_result)){
  47.                            
  48.                             ?>  
  49.                                 <div class="anuncio_titulo"><?php echo utf8_decode($row2['an_tit']); ?></div>
  50.                                 <div class="anuncio_cont_mini">
  51.                                     <?php
  52.                                         $contenido_600 = $row2['an_cont'];
  53.                                         echo $contenido_600."...";
  54.                                     ?>
  55.                                 </div>
  56.                                 <div class="anuncio_leermas">
  57.                                     <a href="index.php?dir=anuncio&alln=<?php echo $row2['Idanuncio']; ?>">Leer Más</a>
  58.                                 </div>  
  59.                            
  60.                             <?php
  61.                                  } // Cierra While
  62.                                
  63.                             } // Cierra if
  64.                             ?>
  65.                            
  66.                             <div class="paginacion anuncios_pg">
  67.                                 <?php
  68.                                
  69.                                 //Incluimos la barra de navegación
  70.                                 echo"<p>".$_pagi_navegacion."</p>";
  71.                                
  72.                                 ?>
  73.                             </div>
  74.                            
  75.                         <!-- Cierra .anuncio_cuerpo -->
  76.                         </div>
  77.                        
  78.                         <img src="images/spacer.gif" width="1" height="8" alt="" /><br />                
  79.                 </div><!-- Cierra margin 0px -->
  80.             </div><!-- cierra .dc_contacto -->
  81.         </div><!-- cierra .dr -->
  82.     </div><!-- cierra .dt mrg -->
  83. </div><!-- Cierra .cont -->


CSS
Código CSS:
Ver original
  1. .anuncio_cuerpo{
  2.     margin:20px 0px 10px 10px;
  3.     display:block;
  4. }
  5.  
  6.     .anuncio_cuerpo .anuncio_titulo{
  7.         font-family:Arial, Helvetica, sans-serif;
  8.         font-size:18px;
  9.         color:#c52600;
  10.         text-align:center;
  11.         margin-bottom:15px;
  12.         padding-bottom:5px;
  13.         border-bottom:1px dashed #e55b2d;
  14.         display:block;
  15.         margin-top:30px;
  16.     }
  17.    
  18.     .anuncio_cuerpo .anuncio_cont_mini{
  19.         margin:0px 10px 0 10px;
  20.         padding:5px;
  21.         display:block;
  22.         text-align:justify;
  23.         width:100%;
  24.     }
  25.    
  26.     .anuncio_cuerpo .anuncio_leermas{
  27.         border-bottom:1px dashed #e55b2d;
  28.         text-align:right;
  29.         text-decoration:none;
  30.         color:#e55b2d;
  31.         margin-top:10px;
  32.     }
  33.    
  34.     .anuncio_leermas a:link, .anuncio_leermas a:visited{
  35.         text-decoration:none !important;
  36.     }
  37.    
  38.     .anuncio_leermas a:hover{
  39.         background-color:#ffebe6;
  40.         border-top:1px dashed #e55b2d;
  41.     }


A ver si me pueden echar un cable :)

Un saludo y muchas gracias a todos !!
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #2 (permalink)  
Antiguo 25/08/2010, 13:20
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 10 meses
Puntos: 127
Respuesta: Problemas con substr($row2['an_cont'], 0, 600)

sospecho que los textosa que cortas a los 600 son en html y no en texto plano
  #3 (permalink)  
Antiguo 25/08/2010, 17:15
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
De acuerdo Respuesta: Problemas con substr($row2['an_cont'], 0, 600)

Cita:
Iniciado por enlinea777 Ver Mensaje
sospecho que los textosa que cortas a los 600 son en html y no en texto plano
Pues si, tenés razón, ahora que caigo está leyendo la BD que está en HTML. Como podría hacer para que eso no sucediera ?

Gracias !!
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #4 (permalink)  
Antiguo 25/08/2010, 20:50
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 10 meses
Puntos: 127
Respuesta: Problemas con substr($row2['an_cont'], 0, 600)

aplicale al resultado esto:

strip_tags

http://enlinea.webhop.net/guia/function.strip-tags.html
  #5 (permalink)  
Antiguo 26/08/2010, 07:29
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: Problemas con substr($row2['an_cont'], 0, 600)

Muchas gracias, me vino de lujo :D !!
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?

Etiquetas: Ninguno
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 18:41.