Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Rimpiazzare elementi su pagina html con risultati query

    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">-MENU_LINK_TITLE-</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">-MENU_LINK_TITLE-</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?

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    128
    se la struttura della stringa è sempre la stessa, puoi fare un preg_split. ho fatto una prova al volo:

    Codice PHP:
    <?php
    $str 
    '<tr><td class="menu_point">[url="-MENU_LINK-"]-MENU_LINK_TITLE-[/url]</td></tr>';
    list(
    $uno,$due,$tre,$quattro,$cinque) = preg_split('/-/'$str);

    ?>
    la variabile $due è uguale a MENU_LINK, la variabile quattro è uguale a MENU_LINK_TITLE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.