Codice PHP:
function CambiaLingua() {
pageextension = ".php";
// qua che fai? non prendi l' indirizzo della pagina?
// thispage = self.location.href;
// e ti rincollo quello che avresti dovuto leggere e capire:
// qui, invece di prendere tutto l' href prendo solo il pathname
// se l' indirizzo e' [url]http://www.tuodominio.it/prima/seconda/terza/pagina.htm[/url]
// in thispage ti ritroverai /prima/seconda/terza/pagina.htm
// lo faccio per non avere i // di http: di mezzo
var thispage=self.location.pathname;
// divido la stringa per "/", il risultato e' un array che contiene i pezzi del pathname
// 0 = ''
// 1 = 'prima'
// 2 = 'seconda'
// 3 = 'terza'
// 4 = 'pagina.htm'
// la lunghezza dell' array e' 5
var pathArr=thispage.split('/');
// solo se l' array e' piu' lungo di 3 posso "risalire" di due cartelle
if(pathArr.length>3){
// elimino dall' array 2 elementi a partire dall' elemento con indice lunghezza dell' array-3
pathArr.splice(pathArr.length-3,2);
// con join per "/" riottengo una stringa dall' array modificato
// nell' esempio: /prima/pagina.htm
thispage=pathArr.join('/');
}
// continuo col copia/incolla:
// fai quello che devi fare con thispage e che hai detto funziona
thispage = thispage.replace(/_l2.php/, ".php");
sellanguage = document.language.newlanguage.selectedIndex;
newlang = document.language.newlanguage.options[sellanguage].value;
newpage = thispage.replace(/.php/, newlang + ".php");
// continuo col copia/incolla:
// quando devi reindirizzare, invece di farlo con
// self.location = newpage;
// lo fai con
self.location.href=self.location.hostname+newpage;
}