Foros del Web » Programando para Internet » PHP »

Truncado tags html en paginación

Estas en el tema de Truncado tags html en paginación en el foro de PHP en Foros del Web. Hola amigos, Estoy haciendo una paginación un tanto atípica, esto es: el usuario accede a un menu donde selecciona lo que quiere visualizar, esos items ...
  #1 (permalink)  
Antiguo 24/07/2003, 12:45
 
Fecha de Ingreso: mayo-2003
Mensajes: 125
Antigüedad: 20 años, 11 meses
Puntos: 0
Truncado tags html en paginación

Hola amigos,

Estoy haciendo una paginación un tanto atípica, esto es: el usuario accede a un menu donde selecciona lo que quiere visualizar, esos items de menu en realidad hacen referencia a campos con lo que hago paginación del campo en si (del campo a mostrar), divido el campo en trozos dinamicamente de tal manera que lo voy enseñando por tramos, segun va paginando el usuario, siendo estos tramos de una longitud fija.

No se si me he explicado bien. La verdad es que va de maravilla pero ... uno de los campos contiene un minieditor de tal manera que puede insertar tags html para dar negrita, crear listas, ...

¿Que pasa?

El problema lo tengo cuando corto y no he cerrado un tag. Lo he resuelto para tags como la negrita pero tengo grandes problemas con las listas.

Trato de poner un ejemplo:



Código PHP:
Pagina 1

En un lugar de la mancha 
<strong>de cuyo nombre</strongno quiero acordarme


No hay problema 
***

Código PHP:
Pagina 2

En un lugar de la mancha 
<strong>de cuyo nombre</strongno quiero acordarme

<olpunto 1 </ol>
<
olpunto 2 </ol>
<
olpunto 3 

Problema 
(no cierro tag
***

Código PHP:
Pagina 3

En un lugar de la mancha 
<strong>de cuyo nombre</strongno quiero acordarme

</olpunto 4 </ol>
<
olpunto 5 </ol>
<
olpunto 6 </ol>

Problemadoble tag de cerrar 

Soluciones que hay:

Pues muy facil, se cuentan numero y tipo de tags abiertos y se cuentan lo mismo para tags cerrados, se ven las correspondencias y se insertan al final si no cuadra, pasandole como parametro a la otra pagina para que lo vuelva a abrir.

Con algo como el strong es muy facil pero que pasa si cierro una lista numerada, como en la página 2, pues hay no habría problema. El problema vendría en la página 3, ya que m e pintaria de nuevo punto1, punto 2, y punto 3, ya que no continuo la lista.

****************+

He hecho pruebas tratando el texto fijo y he conseguido algun resultado, pero el problema añadido es que lo realizo dinamicamente, cada vez que el usuario pagina.

¿Os habeis encontrado algo parecido?¿Podeis echarme un cable?

Perdonad si no me he explicado con claridad, no pongo codigo, es mas dar con la forma y luego el plasmarlo ya vendra.

Muchas gracias amigos
__________________
Lailuluelo
El error está en lo obvio
  #2 (permalink)  
Antiguo 25/07/2003, 22:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues .. y no le daría más vueltas ...

A los <tag> HTML que sabes que le acompaña su tag de cierre .. tu mismo ya sabes como cerrarlo en tu página actual ...

Si es un <tag> como el ejemplo (listas) .. pues lo cierras igualmente .. La lista continuará en la siguiente página con un tag de cierre mayor al que abre (pues se abrió en la página anterior ..)

En fin .. los problemas vendrán con tablas HTML complejas .. y no te digo yá si usan capas (layers <div> etc ..)

Creo que a la hora de "almacenar" datos .. estos han de estar "sin formato" y sea tu aplicación (en este caso PHP) el que se los dé bajo algún sistema própio de plantillas (de hecho .. hacer simplemente <b>$variable</b> ya sería un sistema de "plantillas" muy rudimentario pero lo es .. ). De esa forma .. no dependes de que tu "contenido" fuerce a tu "programación" cuando ha de ser al contrario para dar un formato homogenio a tus datos. (por lo menos .. así enfoco yo este tipo de problemas)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 26/07/2003, 04:35
 
Fecha de Ingreso: mayo-2003
Mensajes: 125
Antigüedad: 20 años, 11 meses
Puntos: 0
Estoy haciendo progresos y ya controlo todas las negritas, cursivas, anclas, listas no ordenadas (incluso anidadas) y ahora estoy con las listas ordenadas. Lo he conseguido para las normales, y estoy con las anidadas que estan dando más problema.

La solución es más o menos fácil:


1.- Tomo el tamaño total del campo y lo divido por el tamaño maximo de pagina, obteniendo el numero de paginas.
2.- Leo en la pagina a tratar si el numero de tags abiertos es el mismo que el de cerrados.
3.- Si no es asi, obtengo la cadena hasta el tag cerrado en la pagina siguiente, lo quito de esa pagina y se lo añado a la anterior.
4.- y luego voy pintando

Un saludo y muchas gracias amigas
__________________
Lailuluelo
El error está en lo obvio
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 21:43.