Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/03/2014, 02:51
Avatar de fbedia
fbedia
 
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 13 años, 9 meses
Puntos: 8
Explorar cadena PHP

Hola a tod@s!

Tengo una pagina en PHP que obtiene un articulo de la base de datos (guardado en html) y lo muestra.... Hasta aquí todo va bien ;)

Ahora, mi intención es crear en dicha pagina, un "Indice de contenidos" que se genere por si solo... Esto lo quiero hacer explorando el codigo html del articulo y extrallendo todos los <h1></h1>, <h2></h2>, <h3>...etc..

EJEMPLO:

En la base de datos tengo un articulo guardado de esta forma:
Código:
<h1>Energía solar termica</h1>
<p>La energía solar térmica (o energía termosolar) consiste en el aprovechamiento de la energía del Sol para producir calor que puede aprovecharse para cocinar alimentos o para la producción de agua caliente destinada.....</p>
<h2>Energía solar térmica de baja temperatura</h2>
<p>Una instalación solar térmica de baja temperatura está formada por captadores solares, un circuito primario y secundario, intercambiador de calor....</p>
<h2>Energía solar térmica de media temperatura</h2>
<p>Las instalaciones de temperatura media pueden usar varias diseños, los diseños más comunes son: glicol a presión, drenaje trasero, sistemas de lote y sistemas....</p>
<h1>Energía solar fotovoltaica</h1>
<p>La energía solar fotovoltaica consiste en la obtención de electricidad24 obtenida directamente a partir de la radiación solar mediante....</p>
<h2>Paneles solares fotovoltaicos</h2>
<p>Un panel fotovoltaico consiste en una asociación de células, encapsulada en dos capas de EVA (etileno-vinilo-acetato), entre una lámina frontal de vidrio y una capa....</p>
El ejemplo anterior, es un articulo que obtengo de la BD.
Mi intención es crear una función en PHP que recorra el articulo y que cada vez que detecte un <h1>(cadena)</h1> me devuelva la (cadena)... de esta forma podria yo crear un indice de contenidos.

¿Existe alguna funcion que ya te de esto o algo similar?
He visto la funcion explode http://www.php.net/manual/es/function.explode.php y se me ocurre mas o menos como podria hacerlo usando esta funcion... pero dudo que sea la forma mas optima de hacerlo...

Sabiendo de la experiencia de los foreros, me mantengo a la espera de sus comentarios!
Un saludo.
__________________
Follow me on twitter @franbedia