Rimpiazzare elementi su pagina html con risultati query

giorda86

Utente Attivo
12 Feb 2010
41
0
0
www.misteridelmondo.com
ciao a tutti, ho da fare una cosa un po complessa, per farla breve vi spiego che sto realizzando un sistema di gestione template, è completo e funziona alla perfezione, sfrutta un sistema di cache etc etc... ma mi manca un piccolo dettaglio... i menu...
praticamente non so come fare a recuperare i dati dalla query dei punti del menu e piazzarli nel punto desiderato.

allora mi spiego, ho nella pagina template.html che è quella che contiene la grafica del template, questo codice con dei flag tipo -MENU_ITEM-START- che ho creato io:

Codice:
CODICE HTML

-MENU_ITEM-<tr><td class="menu_point"><a href="-MENU_LINK-">-MENU_LINK_TITLE-</a></td></tr>-END_MENU_ITEM-

ALTRO CODICE HTML

sono andato ad aprire con file_get_contents() il file template.html che contiene questa stringa e ho fatto questo codice per ricavare il contenuto che sta tra i flag -MENU_ITEM- ed -END_MENU_ITEM:

Codice:
$template_open = file_get_contents('template.html');

@eregi("/(.+)-MENU_ITEM-(.+)-END_MENU_ITEM-(.+)/", $template_open, $tag_matches);

e fino qui va bene, usando la variabile $tag_matches[2] ho il conenuto che volevo, e stampando la variabile $tag_matches[2] mi viene:

Codice:
<tr><td class="menu_point"><a href="-MENU_LINK-">-MENU_LINK_TITLE-</a></td></tr>

ed esclude tutto il resto del codice della paigna, ora si tratta di fare la stessa operazione con la variabile sopracitata, per sostituire con i risultati della query i flag -MENU_LINK- e -MENU_LINK_TITLE- e ho fatto cosi:

Codice:
$menu_item = $tag_matches[2];
	
	@eregi("/(.+)-MENU_LINK-(.+)-MENU_LINK_TITLE-(.+)/", $menu_item, $menu_matches);
	
	while ($menu = mysql_fetch_array($select_menu)) {echo $menu_matches[1] . $menu['link'] . $menu_matches[2] . $menu['link_title'] . $menu_matches[3];}

ma non va... questa cosa qui mi restituisce solo i parametri della query che è evidentemente corretta, mentre $menu_matches è vuoto, dove sta l'inghippo?
 
Ultima modifica:

Discussioni simili