sicuramente quello che sto chiedendo è una bazzecola per chi conosce bene la sintassi php... ma io sono in difficoltà 
ho un menu che consiste in una lista di definizione <dl>.
ogni <dd> contiene un link, ed ogni link è costruito su un meccanismo che rende non cliccabile il link corrente. i vari blocchi di <dd> sono racchiusi in array.
il problema è che ognuno di questi array è separato dal <dt> della sezione successiva, e questo implica che debba ripetere tutto lo script per ogni array di <dd>...
come posso snellire il codice di questo menu, togliendo un po' di ripetizioni?
Codice PHP:
<dl id="menu">
<?
// ***************************
echo '<dt>'.$trad['titolo_1'].'</dt>';
// ***************************
$voci_menu = array (
'link1' => 'link1.php',
'link2' => 'link2.php',
'link3' => 'link3.php',
);
foreach ($voci_menu as $text => $link) {
$pag_attuale = basename($_SERVER['SCRIPT_NAME']);
if ($pag_attuale == $link) {
echo '<dd><div class="nolink">'.$trad[$text].'</div></dd>
';}
else
echo '<dd>[url="'.$link.'"]'.$trad[$text].' [/url]</dd>
';}
// ***************************
echo '<dt>'.$trad['titolo_2'].'</dt>';
// ***************************
$voci_menu = array (
'link4' => 'link4.php',
'link5' => 'link5.php',
'link6' => 'link6.php',
);
foreach ($voci_menu as $text => $link) {
$pag_attuale = basename($_SERVER['SCRIPT_NAME']);
if ($pag_attuale == $link) {
echo '<dd><div class="nolink">'.$trad[$text].'</div></dd>
';}
else
echo '<dd>[url="'.$link.'"]'.$trad[$text].' [/url]</dd>
';}
// ***************************
echo '<dt>'.$trad['titolo_3'].'</dt>';
// ***************************
$voci_menu = array (
'link7' => 'link7.php',
'link8' => 'link8.php',
'mail' => 'mailto:xxx@xxx.it',
);
foreach ($voci_menu as $text => $link) {
$pag_attuale = basename($_SERVER['SCRIPT_NAME']);
if ($pag_attuale == $link) {
echo '<dd><div class="nolink">'.$trad[$text].'</div></dd>
';}
else
echo '<dd>[url="'.$link.'"]'.$trad[$text].' [/url]</dd>
';}
?>
</dl>