Como puedo hacer para que no aparezca un bloque php

  • Autor Autor blogers
  • Fecha de inicio Fecha de inicio
B

blogers

Pi
SEO
Hola todos bueno me surgio la pregunta colegas que si se puede hacer que uno de mis bloques no paresca cuando hayga poco contenido en un post aqui tengo el codigo si me ayudaran a poder hacer eso se los agradecer mucho


El codigo que se muestra en el post que quiero ocultar cuando hayga poco contenido de caracteres
PHP:
<?php
echo $adv->adv2;
?>

El que muestra la descripcion del posts el cual delimita a que muestre 1077 caracteres

PHP:
     <?=
$source['description'] = substr(strip_tags($source ['description']), $slip, 1077).'...';?></p>
 
Hola

PHP:
$tamano=strlen($source['description']);

if($tamano>100){ //Si tamaño es mayor a 100 caracteres
echo $adv->adv2; 
}


Algo así?
 
Si colega que no muestre digamos si es menor de 500 caracteres o no tenga caracterese deja lo pruebo
Hola

PHP:
$tamano=strlen($source['description']);

if($tamano>100){ //Si tamaño es mayor a 100 caracteres
echo $adv->adv2; 
}


Algo así?


---------- Post agregado el 22-mar-2014 hora: 01:43 ----------

Pero por ejemplo encontre un detalle que s eme paso por alto que en la descripcion muestra solo hasta 1077 caracteres pero como hay mas caracteres lo esta contando sin pasar por por el conteo minimizado de los 1077 ayi es donde me atore
Hola

PHP:
$tamano=strlen($source['description']);

if($tamano>100){ //Si tamaño es mayor a 100 caracteres
echo $adv->adv2; 
}


Algo así?
 
Si colega que no muestre digamos si es menor de 500 caracteres o no tenga caracterese deja lo pruebo

---------- Post agregado el 22-mar-2014 hora: 01:43 ----------

Pero por ejemplo encontre un detalle que s eme paso por alto que en la descripcion muestra solo hasta 1077 caracteres pero como hay mas caracteres lo esta contando sin pasar por por el conteo minimizado de los 1077 ayi es donde me atore

Tendrias que definir claramente cuales seran los límites y establecer el maximo, si dices que si no hay 500 caracteres no muestra el $adv, entonces la descripcion sería :

PHP:
<?= 
$source['description'] = substr(strip_tags($source ['description']), $slip, 500).'...';?>


A eso te refieres?
 
Bueno lo que pasa que cuando hay articulos muy extensos ayi entra en accion

PHP:
, $slip, 1077


Los acorta o minimiza que solo muestre hasta esa cantidad de caracteres pero yo lo que quiero que por ejemplo el blouqe no se muestre si hay menos de un ejemplo de 500 caracteres en el $slip, 1077 a eso me refiero no la cantidad que hayga en el campo por que si no tomaria todo los caractateres del capo description
Tendrias que definir claramente cuales seran los límites y establecer el maximo, si dices que si no hay 500 caracteres no muestra el $adv, entonces la descripcion sería :

PHP:
<?= 
$source['description'] = substr(strip_tags($source ['description']), $slip, 500).'...';?>


A eso te refieres?
 
Pienso que el problema que tienes es por q estas usando el if antes de tiempo, esto quedaria así.

PHP:
//Al inicio del archivo, justo antes del $adv->adv2

$texto=substr(strip_tags($source ['description']), $slip, 1077);

$tamano=strlen($texto);

if($tamano>500){ //Si hay más de 500 caracteres
echo $adv->adv2; 
}  


//Donde muestras el texto:

<? echo $texto.'...';?>
 
Última edición por un moderador:
Asi lo puse pero me tiro pantralla blanca

PHP:
    <?php

$texto=substr(strip_tags($source ['description']), $slip, 1077);

$tamano=strlen($texto);

if($tamano>1072){ //Si hay más de 500 caracteres
echo $adv->adv2; 
}  
}  


?><hr />
    <p>  <?=
$source['description'];?></p>
    
   
 <hr />
Pienso que el problema que tienes es por q estas usando el if antes de tiempo, esto quedaria así.

PHP:
//Al inicio del archivo, justo antes del $adv->adv2

$texto=substr(strip_tags($source ['description']), $slip, 1077);

$tamano=strlen($texto);

if($tamano>500){ //Si hay más de 500 caracteres
echo $adv->adv2; 
}  


//Donde muestras el texto:

<? echo $texto.'...';?>
 
Al usar directamente:

PHP:
<hr />
    <p>  <?=
$source['description'];?></p>


Estas mandandole todo el contenido y por eso se vuelve pantalla blanca, debe ir ahi la variable $texto en vez de $source['description']
 
Era un corchete ya lo puse asi pero ahora me mostro todo el texto y no quito el bloque jejeje

PHP:
<?php

$texto=substr(strip_tags($source ['description']), $slip, 1077);

$tamano=strlen($texto);

if($tamano>1072){ //Si hay más de 500 caracteres
echo $adv->adv2; 
}  
 


?><hr />
    <p>  <?=
$source['description'];?></p>
    
   
 <hr />


---------- Post agregado el 22-mar-2014 hora: 02:04 ----------

A ya mira asi lo puse pero ahora no me mostro nada de texto

PHP:
<?php

$texto=substr(strip_tags($source ['description']), $slip, 1077);

$tamano=strlen($texto);

if($tamano>1075){ //Si hay más de 500 caracteres
echo $adv->adv2; 
}  
 


?><hr />
    <p>  <?=
$texto['description'];?></p>
    
   
 <hr />

Al usar directamente:

PHP:
<hr />
    <p>  <?=
$source['description'];?></p>


Estas mandandole todo el contenido y por eso se vuelve pantalla blanca, debe ir ahi la variable $texto en vez de $source['description']
 
En el penultimo post, te explique por que muestra todo el texto, debes usar la variable $texto.

PHP:
<hr />
    <p>  <?=
$texto;?></p>
 
Ya quedo colega asi funciono que loko con su misma variable


PHP:
<?php

$texto=substr(strip_tags($source ['description']), $slip, 1077);

$tamano=strlen($texto);

if($tamano>1078){ //Si hay más de 500 caracteres
echo $adv->adv2; 
}  
 


?><hr />
    <p>  <?=
$source['description'] = substr(strip_tags($source ['description']), $slip, 1077).'...';?></p>
 
Asi lo puse pero me tiro pantralla blanca

PHP:
    <?php

$texto=substr(strip_tags($source ['description']), $slip, 1077);

$tamano=strlen($texto);

if($tamano>1072){ //Si hay más de 500 caracteres
echo $adv->adv2; 
}  
}  


?><hr />
    <p>  <?=
$source['description'];?></p>
    
   
 <hr />


No! ... Deberia ser así:

PHP:
<hr />
    <p>  <?=
$texto;?></p>
 
Muchisimas gracias colega te debo una jejeje me salvaste :encouragement:
 
Ya quedo colega asi funciono que loko con su misma variable


PHP:
<?php

$texto=substr(strip_tags($source ['description']), $slip, 1077);

$tamano=strlen($texto);

if($tamano>1078){ //Si hay más de 500 caracteres
echo $adv->adv2; 
}  
 


?><hr />
    <p>  <?=
$source['description'] = substr(strip_tags($source ['description']), $slip, 1077).'...';?></p>


Mandale defrente asi:

PHP:
<hr />
    <p>  <?=
$texto;?></p>

Si lo dejas así consumiras recursos con el PHP, estas haciendo doble uso del Substr, Strip_tags
 
Ya lo correji asi quedo de maravilla

PHP:
<?php

$texto=substr(strip_tags($source ['description']), $slip, 1077);

$tamano=strlen($texto);

if($tamano>1079){ //Si hay más de 500 caracteres
echo $adv->adv2; 
}  
 


?><hr />
    <p>  <?=
$texto;?></p>
No! ... Deberia ser así:

PHP:
<hr />
    <p>  <?=
$texto;?></p>
 
Que bueno! :encouragement:
 
Atrás
Arriba