Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    109

    Regexp per composizione url

    Salve volevo esporvi il mio problema e come sempre procedo con un esempio...

    Sto creando un sito multilingua e utilizzo la tecnica url rewrite e ho una struttura dell'url di questo tipo:

    http://www.miosito.it/it/contatti.html
    http://www.miosito.it/en/contatti.html
    http://www.miosito.it/de/contatti.html

    http://www.miosito.it/it/prodotti.html
    http://www.miosito.it/en/prodotti.html
    http://www.miosito.it/de/prodotti.html

    ecc..

    Ora però quando clicco sulle classiche bandierine delle lingue ho associato un link di questo tipo...

    http://www.miosito.it/it.html
    http://www.miosito.it/en.html
    http://www.miosito.it/de.html

    Però cosi facendo, ipotizzando che mi trovo nella pagina contatti http://www.miosito.it/it/contatti.html

    cliccando sulla bandierina della lingua inglese http://www.miosito.it/en.html vado si a finire nella lingua inglese, ma torno alla homepage del sito, mentre io vorrei farlo finire sempre sulla pagina contatti ma versione inglese.

    Come dovrei fare per far si che l'url associato alla bandierina, dinamicamente sostituisca nell'url della pagina corrente "it" con "en"?

    Pensavo ad una espressione regolare che sostituisca "it" con "en" all'url corrente.

    Ad esempio se mi trovo in:
    http://www.miosito.it/it/contatti.html
    L'espressione regolare sostituirà "it" con "en" e la bandierina punterà quindi a:
    http://www.miosito.it/en/contatti.html

    E' una buona soluzione? Come potrebbe essere l'espressione in tal caso?
    Eventualmente esiste una soluzione più elegante?

    Spero di essere stato abbastanza chiaro e di non aver fatto un ragionamento troppo contorto.
    Ringrazio anticipatamente.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    Ciao,
    ma usi l'url rewrite e sei in una pagina del tipo http://www.miosito.it/it/contatti.html vorrà dire che avrai in qualche variabilie sia 'it' che 'contatti' ... no ? :master:

    A sto punto ci metti un secondo a cambiare solo la sigla della lingua e a mandare direttamente dove vuoi.....

    Se cosi' non è dimmi in cosa non ci siamo capiti
    No pvt per sollecitare risposte, grazie.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    109
    Si tu in parte hai ragione però poi posso anche avere una pagina del tipo:

    http://www.miosito.it/it/prodotti/ma...ortive-12.html
    oppure
    http://www.miosito.it/it/prodotti/ma...2/pagina2.html

    e mi troverei in difficolta a ricostruire l'url dopo la variabile della lingua...

    Il mio intento era quallo di prendere tutto l'url corrente della pagina e sostituire solo i due caratteri della lingua appena dopo "http://www.miosito.it/"

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    109
    Per ora ho risolto così:

    Codice PHP:
    $url "http://www.miosito.it/it/prodotti/macchine-sportive.html";

    $lang "en";

    echo 
    ereg_replace("http://www.miosito.it/([a-z]{2})/","http://www.miosito.it/en/",$url); 
    Pensate possa essere una buona soluzione o c'è di meglio?

    Grazie

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 © 2024 vBulletin Solutions, Inc. All rights reserved.