En estos ultimos dias estoy trabajando en un sistema que genera archivos .txt en los cuales se guarda solo información, es decir una DB pero en .txt, creo que esto se llama flatfile o algo asi..
En fin.. cada archivo generado es reconocido por el sistema y genera su enlace correspondiente, al darle click al enlace se activa un archivo llamado mostrar_seccion.php el cual se encarga de leer y mostrar el .txt correspondiente.
Ahora bien, un ejemplo:
descargas.txt
Código:
Como pueden ver, solo es un archivo de texto envuelto por varias etiquetas tipo "bbcode", en las cuales destacan 3 principalmente:[titulo]Descargas[/titulo] [contenido]En esta sección encontraran roms, emuladores, y otras cosas.[/contenido] [menu][menu_titulo]Juegos[/menu_titulo][subtitulo]NDS[/subtitulo][menu_contenido]Diamante<br>Perla<br>Platino<br>Oro heart gold<br>Plata soul silver<br>Black<br>White[/menu_contenido][menu_titulo]Emuladores[/menu_titulo][subtitulo]NDS[/subtitulo][menu_contenido]No$gba<br>Ideas[/menu_contenido][/menu]
[titulo][/titulo] -- Aquí va el titulo de la sección
[contenido][/contenido] -- El respectivo contenido.
[menu][/menu] -- y en caso de ser nesesario, un menu secundario.
En este ultimo hay 3 etiquetas nuevamente, las cuales son:
[menu_titulo][/menu_titulo] -- El titulo del menu secundario
[subtitulo][/subtitulo] -- El subtitulo del menu secundario
[menu_contenido][/menu_contenido] -- Y el contenido del menu
Ahora dada esta introducción xD, les comento mi problema, por el momento todo funciona bien, pero si nesesito usar varios menus secundarios, es decir, usar varias veces las etiquetas "[menu_titulo][/menu_titulo], etc " no se como lo puedo arreglar, puesto que en este archvo puse 2 menus y solo muestra el primero
![Golpeado](http://static.forosdelweb.com/fdwtheme/images/smilies/pelea.png)
Aquí les dejo el archivo que interpreta
mostrar_seccion.php
Código PHP:
<?php
global $sid, $sub;
function leer_archivo($directorio){
if (!filesize($directorio)){
return false;
}
$abrir = fopen($directorio, 'r');
$leer = fread($abrir, filesize($directorio));
fclose($abrir);
return $leer;
}
$archivo = leer_archivo("secciones/$sid/$sub.txt"); // en este caso "descargas.txt"
$a = array(
"/\[titulo\](.*?)\[\/titulo\]/is",
"/\[contenido\](.*?)\[\/contenido\]/is",
"/\[menu\](.*?)\[\/menu\]/is"
);
$b = array(
"$1<||>",
"$1<||>",
"$1"
);
$archivo_procesado = preg_replace($a, $b, $archivo);
list($titulo, $contenido, $menu) = explode("<||>",$archivo_procesado);
$a = array(
"/\[menu_titulo\](.*?)\[\/menu_titulo\]/is",
"/\[subtitulo\](.*?)\[\/subtitulo\]/is",
"/\[menu_contenido\](.*?)\[\/menu_contenido\]/is"
);
$b = array(
"$1-||-",
"$1-||-",
"$1"
);
$menu_procesado = preg_replace($a, $b, $menu);
list($menu_titulo, $subtitulo, $menu_contenido) = explode("-||-",$menu_procesado);
echo "$titulo<br><br>";
echo "$contenido<br><br>";
$menu_final .= $menu_titulo . '||' . $subtitulo .' || ' . '<br>' . $menu_contenido. '<br><br>';
echo $menu_final;
?>