uso di preg_replace per evidenziare la pagina corrente

mediasteno

Utente Attivo
25 Gen 2010
120
0
0
Utilizzo codice php e css per evidenziare la pagina visualizzata.
In php ho:
PHP:
  <div id="menu">
          <?php
                 $menu=file_get_contents("menu.php");     
                 $base=basename($_SERVER['REQUEST_URI']);                                                                         
                 $menu=preg_replace("|<li><a href=\"".$base."\">(.*)</a></li>|U", "<li class=\"current\">$1</li>", $menu);     
                 echo $menu;                                                                                                   
          ?>
  </div>

che fa riferimento al foglio di stile
Codice:
div#menu {text-align:center; height: 50px; background : url(pic/sfum.gif); padding-top:5px; font-weight : bolder;}
div#menu li {display: inline; font: bold 16px verdana, arial, sans-serif; text-align: center; margin:0px; padding: 15px 0px;}
div#menu a{ font: bold 16px verdana, arial, sans-serif; text-align: center; margin: 0px; padding: 15px 0px;}
div#menu a:hover{text-decoration:underline; font-weight : bolder;}
.current {font-weight : bolder; color:#990000; text-decoration:underline;}

I vari link delle pagine sono estratte da un database pertanto ho pagina.php?pag=01 pagina.php?pag=02 ecc.
Io questi link delle pagine:
PHP:
<ul>
    <li><a href="index.php">home</a></li>  | 
    <li><a href="pagina.php?pagina=chisiamo">chi siamo</a></li>  | 
    <li><a href="pagina.php?pagina=storia">la storia</a></li> | 
    <li><a href="pagina.php?pagina=galleria">galleria foto</a></li> | 
    <li><a href="pagina.php?pagina=dovesiamo">dove siamo</a></li> | 
    <li><a href="contatti.php">contatti</a></li>  |
    <li><a href="pagina.php?pagina=dintorni">nei dintorni</a></li>  | 
  </ul>

Cosi come è impostato ora il codice funziona solo con le pagine index.php e contatti.php mentre nulla cambia se visualizzo le altre pagine. Penso che il problema sia su come è impostato preg_replace ma non ho idea su cosa andare a modificare. Qualcuno può aiutarmi?
Grazie
 

Discussioni simili