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:
Deja como resultado un texto plano feísimo visualmente y si lo hago indicando que etiquetas si se pueden omitir: Ver original
Código PHP:
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.Ver original
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 :(