php – 自动检测语言和重定向用户

前端之家收集整理的这篇文章主要介绍了php – 自动检测语言和重定向用户前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在做自己的网站,我设法编写一些代码,根据浏览器的语言将用户指向语言版本.这是脚本:
<?PHP
  if ($_SERVER["HTTP_ACCEPT_LANGUAGE"] == "sv")
    header("location: index.PHP");
  if ($_SERVER["HTTP_ACCEPT_LANGUAGE"] == "pt")
    header("location: pt/index.PHP");
  else 
    header("location: en/index.html");
?>

我把它放在index.PHP之前.它似乎工作,因为我不在一个英语国家,但我的浏览器是英文,我被重定向到英文版本.

它是否正确?有没有更好/更清洁的方式来做到这一点?

PHP 5.3.0附带locale_accept_from_http(),它从Accept-Language头中获取首选语言.

你应该总是喜欢这种方法的自写法,因为头字段比人们想象的要复杂得多. (这是加权偏好的列表.)

你应该检索这样的语言:

$lang = locale_accept_from_http($_ SERVER [‘HTTP_ACCEPT_LANGUAGE’]);

但是即使如此,您也不会只为每个英文用户使用en,而不用于西班牙语.它可以变成much more difficult,像es-ES和es-US这样的东西是标准的.

这意味着您应该遍历一个正则表达式的列表,您可以尝试使用这种方式确定页面语言.以PHP-I18N为例.

原文链接:https://www.f2er.com/php/139727.html

猜你在找的PHP相关文章