Comunidad de diseño web y desarrollo en internet online

problema con una función para cortar texto

Citar            
MensajeEscrito el 25 Oct 2012 12:33 pm
Hola
Tengo el siguiente problema. Tengo una función para cortar texto en un apartado noticias. La función funciona perfectamente, es esta:

public static function corta_palabra($palabra,$num){

$largo=strlen($palabra);//indica el largo de una cadena
$cadena= substr($palabra,0,$num);
return $cadena;

}

Y el enlace para acceder a ella es el siguiente:
<?php echo Conectar::corta_palabra($datos[$f]["contenidoNoticia"],600);?>...

El problema viene, cuando en vez de insertar texto plano, en una de las noticias lo que quiero es insertar una tabla. No puede cortarla y me desbarajusta todo el diseño de la página. ¿Cómo puedo decirle que si encuentra la etiqueta tabla no ponga en marcha esta función? Soy nueva en php. Muchas gracias a todos por vuestro tiempo.
Saludos
Mayte

Por bruixeta1979

2 de clabLevel



 

safari
Citar            
MensajeEscrito el 25 Oct 2012 02:28 pm
evalua si dentro del texto hay una tag table asi:

Código PHP :

$pos = strpos($tuStringConLaTabla, '<table>');

si el valor de $pos es false es porque no lo encontro, de lo contrario y si lo encuentra $pos debe dar el valor de la ubicaicon donde esta el tag

Por jpcw

Claber

1715 de clabLevel

1 tutorial

Genero:Masculino  

AlgoritmicBrainDesigner

chrome
Citar            
MensajeEscrito el 25 Oct 2012 05:59 pm
Gracias, pero no sé muy bien cómo integrarlo en el código...Lo he hecho en la función:

Código PHP :

public static function corta_palabra($palabra,$num){

$largo=strlen($palabra);
$pos = strpos($palabra, '<table>');
$cadena= substr($palabra,0,$num);
if(isset($pos)){

return false;
}else
return $cadena;   

}


Y luego he dejado el enlace tal y cómo estaba:

Código PHP :

<?php echo Conectar::corta_palabra($datos[$f]["contenidoNoticia"],600);?>...


Pero no funciona, directamente me salen ahora siempre los puntos suspensivos, sin texto ni tabla, ni nada, ¿qué estoy haciendo mal? Gracias por todo!

Por bruixeta1979

2 de clabLevel



 

safari
Citar            
MensajeEscrito el 26 Oct 2012 12:26 pm

Código PHP :

if(isset($pos)){

¿isset de $pos?, por supuesto que siempre va a dar verdadero, si la has definido justo arriba :P.

Creo que has querido hacer esto:

Código PHP :

if(i$pos === false){

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.