disign.it | Php: detect della lingua del browser | a digital sign for a best design!
A digital sign for a best design
Programmazione 2.601 visualizzazioni

Php: detect della lingua del browser

06/06/2012

Sito multilingue con necessità di reindirizzamento automatico a seconda della lingua del browser utilizzato dall'utente?

Con Php è facile, basta attraversare con destrezza la variabile $_SERVER[HTTP_ACCEPT_LANGUAGE] e il gioco è fatto, ecco uno script di esempio:

 

 

    function trovaLingua() {
    $lingue = array();
    if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
    preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i',
    $_SERVER['HTTP_ACCEPT_LANGUAGE'], $lingua_parse);
    if (count($lingua_parse[1])) {
    $lingue = array_combine($lingua_parse[1], $lingua_parse[4]);
    foreach ($lingue as $lingua => $valore) {
    if ($valore === '') $lingue[$lingua] = 1;
    }
    arsort($lingue, SORT_NUMERIC);
    }
    }
    foreach ($lingue as $lingua => $valore) { break; }
    if (stristr($lingua,"-")) {$tmp = explode("-",$lingua); $lingua = $tmp[0]; }
    return $lingua;
    }
   
    echo trovaLingua();

← PHP: creare tinyurl Jquery: visualizza / nascondi caratteri immessi in campo password →

Invia una domanda o un commento sull'articolo

I campi obbligatori sono segnalati *

*

*



 

© 2009 - 2017 Impronte digitali di Luca Frassineti. Tutti i diritti riservati.