Gracias,
Hice esto, a ver si se entiende algo:
Código PHP:
$id2 = $_GET['id2'];
while($array = mysql_fetch_array($cad)) {
$indice= $array['indice'];
$fecha=$array['fecha'];
$nick=$array ['nick'];
$email=$array['email'];
$web=$array['web'];
$comentario=nl2br ($array['comentario']);
$caracteres = strlen($comentario); // caracteres totales
$tamano = 1500; // tamaño máximo
echo "<tr><td class='p'><a name='".$indice."' id='".$indice."'></a>
<b>El</b> ".$fecha." <b>Por</b>: ".$nick." ";
if (!empty ($email)) {
echo " - <a href=mailto:".$email." title='".$email."'>email</a>";}
if (!empty ($web)) {
echo " - <a href='http://".$web."' target='_blank' title=".$web.">web</a>";}
echo "</td>
</tr>
<tr><td><blockquote>";
if ($caracteres >= $tamano and $indice !=$id2) {
echo "".substr(($comentario),0,$tamano)."
<a href='encuesta.php?pg=".$pg."&id=".$id."&id2=".$indice."#".$indice."'>[Seguir leyendo]</a>";}
else { echo $comentario;} echo "</blockquote></td></tr>";
}
Lo que hago es, primero contar los caracteres que tiene el comentario.
A la hora de mostrarlo, con el if si los caracteres superan o son iguales al límite marcado el comentario es acortado por la función "substr" y se muestra el enlace "[seguir leyendo]". También se debe cumplir que el id2 correspondiente al mensaje no está definido.
Si los caracteres no alcanzan el límite pasamos al else donde se muestra el comentario directamente. Hago esto así por dos motivos, uno es que si no hay nada que acortar ya vamos al grano y mostramos el comentario, dos, así el "[seguir leyendo]" no se muestra si no hay nada más que leer.
Todos los comentarios llevan un marcador que corresponde con el indice del comentario.
Con el enlace del "[seguir leyendo]" enlazamos a la misma página del comentario portando en la dirección el id2 del comentario y el indice como marcador.
Así al clicar en el enlace pasan dos cosas: 1. gracias al marcador la página se posiciona en el mensaje que queremos ver completo, 2. como el id2 ahora si está definido pasamos al "else" y el comentario se muestra completo.
Mi problema: de esta forma se nota la recarga de la página y el desplazamiento de la página hacia el mensaje provocando que nos perdamos en el comentario sin saber por donde íbamos leyendo.
Lo que me gustaría es que el mensaje completo se desplegase de forma limpia, tal como pasa aquí, p ej: http://meneame.net/story/new-york-times-ole-this-spanish-summer-eng#comment-50