百科狗-知识改变命运!

Locale::acceptFromHttp() - Locale类

乐乐2年前 (2023-11-21)阅读数 28#技术干货
文章标签区域

Locale::acceptFromHttp()

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

尝试基于HTTP“Accept Language”头找出最佳可用区域设置r

说明

面向对象风格
publicstaticLocale::acceptFromHttp(string $header): string过程化风格
locale_accept_from_http(string $header): string

尝试查找能够满足HTTP“Accept language”头请求的语言列表的区域设置

参数

$header

根据RFC 2616中的格式,包含“接受语言”头的字符串。

返回值

相应的区域设置标识符。

Locale::acceptFromHttp() - Locale类

范例

locale_accept_from_http()example

OO example

以上例程会输出:

en_US

参见

  • locale_lookup() Searches the language tag list for the best match to the language
It's good to mention that if user browser will not send HTTP_ACCEPT_LANGUAGE, the output from:
 Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
Will be null. 
So remember to set up a fail over scenario!
If you're struggling to figure out how to use this function in a project that only supports certain languages, move along.
Unfortunately, this function doesn't let you specify languages supported by your project - and since the internal header parsing and negotiation logic isn't exposed in any other way, you'll most likely want to ditch this function and go for a custom implementation of the same thing:
https://github.com/willdurand/Negotiation
Didn't see this being documented anywhere and the bug hasn't been addressed yet, so to save headache for otherS, this method does a little weird thing with these different locales:
php > echo locale_accept_from_http("zh_TW");
zh
php > echo locale_accept_from_http("zh_CN");
zh

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)
{if $zbp->Config('yd1125')->foot}