Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/04/2011, 17:11
Avatar de ESNOLA
ESNOLA
 
Fecha de Ingreso: octubre-2006
Mensajes: 188
Antigüedad: 18 años, 5 meses
Puntos: 20
Respuesta: extraer una parte del texto

Código PHP:
Ver original
  1. $cadena = "El texto que quieras mostrar";
  2. $largo = 10; // La cantidad de caracteres que quieres mostrar.
  3.  
  4. $mostrar = substr($cadena,0,10);
  5.  
  6. echo "<a href="pagina.php"> $mostrar </a>";

O bien si lo quieres mas cocinado, adaptando un poco la función que C2am nos ha puesto y como dices que lo tienes en una base de datos:
Código PHP:
Ver original
  1. function cortarTexto_Enlace($texto, $longitud, $archivo, $enlace_todo, $parte = 1 )
  2. {            
  3.     if ($parte < 1 || strpos($texto, ' ') === false)
  4.          $parte = 1;
  5.       elseif ($parte > (strlen(substr($texto, 0, strrpos($texto, ' '))) / $longitud))
  6.            $parte = strlen(substr($texto, 0, strrpos($texto, ' '))) / $longitud;  
  7.      
  8.     $desplazamiento = ($parte - 1) * $longitud;
  9.      
  10.     if (!$desplazamiento || substr($texto, $desplazamiento - 1, 1) == ' ')  
  11.        $pos1 = $desplazamiento;
  12.      else
  13.          $pos1 = strpos($texto, ' ', $desplazamiento) + 1;
  14.      
  15.     if ($longitud <= ($pos1 - $desplazamiento))    
  16.       $desplazamiento = $pos1;    
  17.      
  18.     if (substr($texto, $desplazamiento + $longitud - 1, 1) == ' ')
  19.        $pos2 = $desplazamiento + $longitud;  
  20.       elseif(strpos($texto, ' ', $desplazamiento + $longitud) !== false)  
  21.          $pos2 = strpos($texto, ' ', $desplazamiento + $longitud);  
  22.         else      
  23.            $pos2 = strlen($texto);  
  24.      
  25.      $cadena = substr($texto, $pos1, $pos2 - $pos1);
  26.      
  27.      if($enlace_todo)
  28.        return "<a href='".$archivo."'>".$cadena."..... Leer Mas</a>";
  29.       else
  30.         return $texto;    
  31. }

Esta la consulta php, todo en el mismo archivo.
Código PHP:
Ver original
  1. /******* Inicio Parte a Configurar  *****/
  2.  
  3.   $archivo = "archivo.php";//El nombre de este archivo
  4.  $largo = 10; //Cantidad de caracteres a mostrar en el enlace
  5.  
  6.  /********* Fin Parte a configurar ******/
  7.                                                                
  8. $donde = ($_GET['id']) ?  " WHERE id = '".$_GET['id']."'" : "";
  9.    
  10. $sql ="SELECT id, texto FROM tabla_datos";   //Poner los datos oportunos
  11. $sql .= $donde;
  12. $sql = mysql_query($sql);
  13. while($elDato = mysql_fetch_assoc($sql))
  14. {            
  15.    $pasa_externo = (is_numeric($es_externo))? 1 : "";    
  16.              
  17.    if(!$_GET['id'])
  18.    {
  19.       $pasa_enlace = true;
  20.       $meteGet = "?id=".$elDato['id'];
  21.       $archivo .= $meteGet;    
  22.    }
  23.    else
  24.    {
  25.       $pasa_enlace = false;    
  26.    }
  27.    echo cortarTexto_Enlace($elDato['texto'],$largo, $archivo, $pasa_enlace);
  28. }

La idea es esta y no lo he probado:
-Se carga el archivo y muestra el listado de enlaces como tu los quieres seguidos de los típicos puntos y el "Leer Mas".
-Si se hace click en un enlace se carga el mismo archivo pero ahora mostrará todo el texto.

Saludos