Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/01/2013, 05:42
yosoloyo
 
Fecha de Ingreso: mayo-2008
Mensajes: 156
Antigüedad: 16 años
Puntos: 0
Al crear un leer mas, se descuadra HTML

Buenas

Estoy realizando una web con noticias en las que para que en el indice no aparezca la noticia entera, hago un famoso leer más.

Lo que ocurre es que como la noticia guardada tiene código HTML, pues al cortarla con substr a menos caracteres, si deja etiquetas como por ejemplo <p> o <div> sin su correspondiente cierre, descuadra desde ahi el resto de código html.

He intentado recorrer el texto reducido buscando como poder de alguna forma saber el total de etiquetas que hay sin cierre, pero no se me ocurre exactamente como hacerlo y si es la manera mas apropiada. Es decir, mi idea es recorrer con un bucle o una función el texto de caracteres, sabiendo en todo momento cuantos <p>, <div>, <b>, <strong>, <em>, etc pueda haber y saber si se cierran o no. Lo que no se me ocurre es como cumplimentarlo y si hay alguna función que ya de por si lo haga, dado que he estado buscando pero sin demasiado éxito.

Otra cosa que he intentado es strip_tags, pero claro, si lo hago tal cual:
Código PHP:
Ver original
  1. $texto = strip_tags($texto);
Deja como resultado un texto plano feísimo visualmente y si lo hago indicando que etiquetas si se pueden omitir:
Código PHP:
Ver original
  1. $texto = strip_tags($texto,'<br><br /><p>');
El resultado es el del principio, es decir, descuadra el html en caso de que no se cierre alguna etiqueta importante o incluso menos importante en tema de cierre como <strong> por ejemplo.

No se que sugerís. Un saludo gracias de antemano como siempre

PD: he marcado sin querer que el tema está solucionado, pero como veis no hay respuesta alguna. Lo siento :(

Última edición por yosoloyo; 22/01/2013 a las 05:46 Razón: Marcar sin querer que estaba solucionado