成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > PHP中針對區(qū)域語言標記信息的操作

PHP中針對區(qū)域語言標記信息的操作

熱門標簽:天津電銷外呼系統(tǒng)違法嗎 400電話個人能不能辦理 手機外呼系統(tǒng)什么原理 凱立德地鐵站地圖標注 銀行信貸電話機器人 溫州外呼系統(tǒng)招商 滄州電銷外呼系統(tǒng)價格 合肥ai電銷機器人費用 上海400客服電話怎么申請

相信大家對 zh_CN 這個東西絕對不會陌生,不管是 PHP 中,還是在我們的網(wǎng)頁上,都會見到它的身影。其實這就是指定我們的顯示編碼是什么國家或者地區(qū)的,使用何種語言。對于這種區(qū)域語言的標記來說,PHP 中也有很多好玩的內(nèi)容。今天,我們要學習的 Locale 類就是操作區(qū)域語言相關(guān)內(nèi)容的,它無法被實例化,所有全部功能方法都是靜態(tài)的。

獲取及設(shè)置當前的區(qū)域語言信息

首先就是我們可以動態(tài)地獲取和設(shè)置相應的區(qū)域語言信息。

// # echo $LANG;
// en_US.UTF-8

// php.ini
// intl.default_locale => no value => no value

echo Locale::getDefault(), PHP_EOL; // en_US_POSIX
ini_set('intl.default_locale', 'zh_CN');
echo Locale::getDefault(), PHP_EOL; // zh_CN
Locale::setDefault('fr');
echo Locale::getDefault(), PHP_EOL; // fr

默認情況下,使用 getDefault() 方法獲得的是 php.ini 文件中的 intl.default_locale 配置的內(nèi)容。如果在 php.ini 中也沒有配置的話,就會取操作系統(tǒng)的 $LANG 值里面的內(nèi)容,也就是我們上面例子中輸出的 en_US_POSIX ,POSIX 表示的就是來自操作系統(tǒng)的配置。

使用 ini_set() 直接修改 ini 的配置或者使用 setDefault() 方法都是可以動態(tài)地修改當前的區(qū)域語言設(shè)置的。

關(guān)于語言標記的規(guī)則

在繼續(xù)學習下面的內(nèi)容之前,我們先來學習一下語言標記的規(guī)范。對于大多數(shù)人來說,可能只接觸過 en_US 、 zh_CN 這類的標記,但其實它的完整定義是很長的,只是我們使用這種簡寫的方式時,很多內(nèi)容會以默認的形式提供。完整的標記規(guī)則是:

language-extlang-script-region-variant-extension-privateuse
語言文字種類-擴展語言文字種類-書寫格式-國家和地區(qū)-變體-擴展-私有

也就是說,我們的 zh_CN 可以這樣寫:

zh-cmn-Hans-CN-Latn-pinyin

代表的是:zh 語言文字種類,Hans 書寫格式為簡體中文,cmn 普通話,CN 國家和地區(qū),Latn 變體拉丁字母,pinyin 變體拼音。

是不是感覺突然一下這么簡單的東西一下子變得高大上了。另外,zh- 這個前綴現(xiàn)在已經(jīng)不是推薦使用的了,zh- 現(xiàn)在已經(jīng)不是語言 code 了,而是 macrolang 也就是宏語言,我們直接使用 cmn 、 yue(粵語)、wuu(吳語)、hsn(湘語,湖南話)這類的就可以當做 language 來使用了。因此,上面的那一段也可以這么寫:

cmn-Hans-CN-Latn-pinyin

在上篇文章中,我們講 NumberFormatter 時說過可以直接獲得中文的數(shù)字格式的輸出,現(xiàn)在我們想要繁體的結(jié)果呢?很簡單,加上 Hant 標識書寫格式為繁體中文即可。

關(guān)于語言標記規(guī)則的內(nèi)容,大家可以看看文末知乎的參考鏈接,介紹的更為詳盡。

$fmt = new NumberFormatter('zh-Hant', NumberFormatter::SPELLOUT);
echo $fmt->format(1234567.891234567890000), PHP_EOL; 
// 一百二十三萬四千五百六十七點八九一二三四五六七九

獲取指定語言標記規(guī)則中的各類信息

學習了語言標記的規(guī)則之后能干什么呢?Locale 類最主要的功能就在于可以分析獲取這些屬性信息。

單獨獲取各種屬性信息

echo Locale::getDisplayLanguage('cmn-Hans-CN-Latn-pinyin', 'zh_CN'), PHP_EOL; // cmn
echo Locale::getDisplayLanguage('zh-Hans-CN-Latn-pinyin', 'zh_CN'), PHP_EOL; // 中文

echo Locale::getDisplayName('cmn-Hans-CN-Latn-pinyin', 'zh_CN'), PHP_EOL; // cmn(簡體,中國,LATN_PINYIN)
echo Locale::getDisplayName('zh-Hans-CN-Latn-pinyin', 'zh_CN'), PHP_EOL; // 中文(簡體,中國,LATN_PINYIN)

echo Locale::getDisplayRegion('cmn-Hans-CN-Latn-pinyin', 'zh_CN'), PHP_EOL; // 中國
echo Locale::getDisplayRegion('zh-Hans-CN-Latn-pinyin', 'zh_CN'), PHP_EOL; // 中國

echo Locale::getDisplayScript('cmn-Hans-CN-Latn-pinyin', 'zh_CN'), PHP_EOL; // 簡體中文
echo Locale::getDisplayScript('zh-Hans-CN-Latn-pinyin', 'zh_CN'), PHP_EOL; // 簡體中文

echo Locale::getDisplayVariant('cmn-Hans-Latn-pinyin', 'zh_CN'), PHP_EOL; // LATN_PINYIN
echo Locale::getDisplayVariant('zh-Hans-CN-Latn-pinyin', 'zh_CN'), PHP_EOL; // LATN_PINYIN

我們分別使用兩種標記方式來測試代碼,可以看到結(jié)果的對比。

  • getDisplayLanguage() 方法用于獲取顯示的語言信息,也就是規(guī)則中的 language 內(nèi)容。
  • getDisplayName() 方法用于獲取標準的語言名稱,可以看到內(nèi)容更加地豐富。
  • getDisplayRegion() 方法很明顯地就是獲取到了國家信息。
  • getDisplayScript() 獲取到的是書寫格式的信息。
  • getDisplayVariant() 獲取到的就是變體信息

批量獲取屬性信息

當然,我們也可以批量地獲取到一些語言相關(guān)的信息。

$arr = Locale::parseLocale('zh-Hans-CN-Latn-pinyin');
if ($arr) {
    foreach ($arr as $key => $value) {
        echo "$key : $value ", PHP_EOL;
    }
}
// language : zh
// script : Hans
// region : CN
// variant0 : LATN
// variant1 : PINYIN

使用 parseLocale() 方法就能獲取到一個語言標記中的各類信息并保存在數(shù)組中,鍵為標記規(guī)則名,值為對應的內(nèi)容,看看是不是和我們上面介紹的內(nèi)容是一樣的。

獲取所有變體信息

從上面的代碼中可以看出,我們有兩個變體信息,這個也可以通過一個 getAllVariants() 方法來直接獲得語言標記中的所有變體信息的數(shù)組。

$arr = Locale::getAllVariants('zh-Hans-CN-Latn-pinyin');
var_export($arr);
echo PHP_EOL;
//  array (
//     0 => 'LATN',
//     1 => 'PINYIN',
//   )

獲取字符集相關(guān)信息

echo Locale::canonicalize('zh-Hans-CN-Latn-pinyin'), PHP_EOL; // zh_Hans_CN_LATN_PINYIN

$keywords_arr = Locale::getKeywords('zh-cn@currency=CMY;collation=UTF-8');
if ($keywords_arr) {
    foreach ($keywords_arr as $key => $value) {
        echo "$key = $value", PHP_EOL;
    }
}
// collation = UTF-8
// currency = CMY

canonicalize() 方法用于規(guī)范化地顯示語言標記信息,可以看到它把我們的中劃線變成了下劃線并且將后面的各種屬性轉(zhuǎn)成了大寫,這就是規(guī)范化的寫法。不過對于我們的應用程序和網(wǎng)頁來說中劃線以及大小寫都是支持的。當然,大家最好還是按照標準的寫法來定義。

getKeywords() 用于從 @ 符號后獲取語言相關(guān)的信息屬性,比如我們定義的這個 zh-cn ,然后定義了它的貨幣為 CMY ,字符集為 UTF-8 ,直接通過 getKeywords() 就能獲取貨幣和字符集屬性的數(shù)組。

匹配判斷語言標記信息

對于語言標記來說,我們可以判斷給定的兩個標記之間是否相互匹配,比如:

echo (Locale::filterMatches('cmn-CN', 'zh-CN', false)) ? "Matches" : "Does not match", PHP_EOL;
echo (Locale::filterMatches('zh-CN-Latn', 'zh-CN', false)) ? "Matches" : "Does not match", PHP_EOL;

當然,我們也可以使用另一個 lookup() 方法來確定給定的一系列語言標記哪個與指定的標記最接近。

$arr = [
    'zh-hans',
    'zh-hant',
    'zh',
    'zh-cn',
];
echo Locale::lookup($arr, 'zh-Hans-CN-Latn-pinyin', true, 'en_US'), PHP_EOL; // zh_hans

生成一個標準規(guī)則的語言標記

既然能夠獲取各類語言標記的屬性信息,那么我們能不能生成一個標準的語言標記內(nèi)容呢?

$arr = [
    'language' => 'en',
    'script' => 'Hans',
    'region' => 'CN',
    'variant2' => 'rozaj',
    'variant1' => 'nedis',
    'private1' => 'prv1',
    'private2' => 'prv2',
];
echo Locale::composeLocale($arr), PHP_EOL; // en_Hans_CN_nedis_rozaj_x_prv1_prv2

沒錯,composeLocale() 方法根據(jù)一個數(shù)組格式的內(nèi)容,就可以生成一個完整標準的語言標記格式內(nèi)容。當然,這個測試代碼是亂寫的,相當于是一個 en_CN 的標記,正常不會這么寫的。

acceptFromHttp 從請求頭中讀取語言信息

另外,Locale 類中還提供了一個從 header 頭中的 Accept Language 中獲取客戶瀏覽器語言信息的方法。

// Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);

echo Locale::acceptFromHttp('en_US'), PHP_EOL; // en_US
echo Locale::acceptFromHttp('en_AU'), PHP_EOL; // en_AU

echo Locale::acceptFromHttp('zh_CN'), PHP_EOL; // zh
echo Locale::acceptFromHttp('zh_TW'), PHP_EOL; // zh

不過從測試的結(jié)果來說,其實它只需要一個字符串參數(shù)就可以了,所以我們在命令行也可以測試它。需要注意的是,對于中文來說,它不能返回區(qū)域信息,只能返回 language 信息。

總結(jié)

這個 Locale 類相關(guān)的內(nèi)容其實在筆者日常的開發(fā)中基本沒怎么接觸過,但相信不少做跨境項目的同學應該多少對它們會有一些了解。只能說業(yè)務接觸不到,那就只能先簡單地學習一下看看了,同樣地,以后大家遇到相關(guān)的業(yè)務需求時,別忘了它們的存在哦!

測試代碼:

參考文檔:

https://www.php.net/manual/zh/class.locale.php

https://www.zhihu.com/question/20797118/answer/63480740

到此這篇關(guān)于PHP中針對區(qū)域語言標記信息的操作的文章就介紹到這了,更多相關(guān)PHP區(qū)域語言標記信息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • php將html轉(zhuǎn)成wml的WAP標記語言實例
  • php去除html標記的原生函數(shù)詳解
  • php正則取img標記中任意屬性(正則替換去掉或改變圖片img標記中的任意屬性)
  • 解析PHP正則提取或替換img標記屬性
  • php 去除html標記--strip_tags與htmlspecialchars的區(qū)別詳解
  • PHP壓縮html網(wǎng)頁代碼(清除空格,換行符,制表符,注釋標記)

標簽:白城 赤峰 七臺河 洛陽 酒泉 金華 怒江 溫州

巨人網(wǎng)絡(luò)通訊聲明:本文標題《PHP中針對區(qū)域語言標記信息的操作》,本文關(guān)鍵詞  PHP,中,針對,區(qū)域,語言,標記,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP中針對區(qū)域語言標記信息的操作》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP中針對區(qū)域語言標記信息的操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    中文字幕精品在线观看| www久久com| 国产第一页在线视频| 韩国av在线免费观看| 精品国产乱子伦一区二区| 在线国产伦理一区| 自拍偷拍18p| 男人与禽猛交狂配| 国产精品视频观看| av男人的天堂在线| 国产精品88久久久久久妇女| 国产精品88av| 欧美一级做性受免费大片免费| 亚洲高清免费观看高清完整版| 久久亚洲国产精品成人av秋霞| 久久久国产综合精品女国产盗摄| 麻豆国产精品一区二区三区| 明星国产一级毛片范冰冰视频| 中文字幕在线观看一区二区三区| 麻豆91精品91久久久| 国产午夜亚洲精品不卡| 亚洲精品久久一区二区三区777| 3344国产永久在线观看视频| 青青草国产成人久久91网| 天天摸夜夜操| 热re久久精品国产99热| 国产一区二区三区精品久久久| 亚洲欧美日韩国产成人| 伊人av电影| 欧美成人激情视频| 一区二区视频在线看| 欧美调教sm| 国产精品va在线播放我和闺蜜| 伊人婷婷久久| 免费成人深夜夜行网站| 日本怡春院一区二区| 美女黄色网址| 久久精品国产99久久6| 天天色av.com| 欧美男男大粗吊1069| 亚洲一区二区欧美激情| 7777精品久久久大香线蕉小说| 伊人久久久大香线蕉综合直播| 8x拔播拔播x8国产精品| 99国产精品自拍| 比比资源-先锋影音资源站| 欧美性色综合| 成年人午夜视频在线观看| 日韩三级小视频| 中文字幕亚洲区| 亚洲av综合色区无码一二三区| 欧美精品99久久| 视频一区二区中文字幕| 国产亚洲精品久久久久久久| 小说区图片区综合久久亚洲| 波多野结衣作品集| 91日韩在线| 日韩欧美高清视频| 杨幂一区二区国产精品| 伊甸园精品99久久久久久| 亚洲国产精品区| 久久综合免费视频| sesexxxx| 亚洲欧美在线一区二区| 在线欧美三级| 欧美大胆性生话| 中文字幕国产在线观看| 国产精品色在线观看| 久久夜精品香蕉| 久久综合伊人77777| 亚洲美女在线一区| 日日夜夜精品视频免费| www.黄色av| 国产日产一区二区| 久久久久久久美女| 精品日本美女福利在线观看| xxxxx性欧美特大| 日本中文字幕久久| 欧美性大战久久久久久久| 高清视频国产| 欧美性淫爽ww久久久久无| 内射中出日韩无国产剧情| 国产精品久久久一区二区| 国产一二三区在线观看| 亚洲网在线观看| 国产在线视频91| 日本少妇一级片| 久久99精品国产.久久久久| 国产精品久久久久久亚洲色| 国内精品400部情侣激情| 亚洲理论中文字幕| 成人在线免费电影| 国产精品少妇自拍| a级黄色片免费| 国产伦理久久久久久妇女| 亚洲片区在线| 一本在线免费视频| 中文字幕久久精品| 91精品国产高清久久久久久91| h1515四虎成人| 污视频网站免费在线观看| 亚洲视频久久久| 天堂av免费观看| 欧美日韩激情视频| 另类综合日韩欧美亚洲| 欧美性猛交xxxx乱大交hd| 国产精品盗摄一区二区三区| 国产啪精品视频网站| 国产在线观看不卡一区二区三区| 欧美一区二区福利在线| 日韩一区二区免费看| 成人网18免费看| 国产一区二区动漫| 天天躁日日躁aaaa视频| 中国免费黄视频| 范冰冰一级做a爰片久久毛片| 懂色av一区二区三区免费看| 欧美熟妇精品黑人巨大一二三区| 国产高潮免费视频| 黄色aaa视频| 国产精品美女久久久久久2018| 国产一区二区高清在线| 国产三级精品在线观看| 欧美在线播放视频| 国产精品乱码一区二区视频| 中文字幕精品—区二区日日骚| 九色porny丨首页在线| 91蜜桃在线免费视频| 成人做爽爽免费视频| 亚洲精品第一页| 国产情侣自拍小视频| 欧美精选一区二区| 免费不卡中文字幕视频| 欧美少妇性生活视频| 天堂综合网久久| www.亚洲精品| 国产精品人人做人人爽人人添| 欧美va亚洲va香蕉在线| 久久婷婷国产精品| 97超碰色婷婷| av一区二区在线看| 国产成人精品视频在线| 久久久视频免费观看| 婷婷丁香久久| 91在线观看喷潮| 欧美精品一区二区三区很污很色的| 毛片手机在线观看| 日韩中文视频| 台湾十八成人网| 国产高清精品软男同| 国产精品毛片一区视频播| 亚洲人人精品| 热re91久久精品国99热蜜臀| 日本三级亚洲精品| 偷拍欧美精品| 国产中文字幕免费观看| 国产精品一区二| 亚洲精品一区二区三区在线播放| 日韩中文有码在线视频| 免费又黄又爽又猛大片午夜| 天天干天天干天天干天天干天天干| 成人爽a毛片免费啪啪| 最新日韩欧美| 可以看美女隐私的网站| 污污免费在线观看| 日本一区二区三区免费观看| 精品人伦一区二区色婷婷| 加勒比色老久久爱综合网| 中文字幕永久在线不卡| 国产精品久久久久久av公交车| 久久久精品欧美| 免费看一级一片| 91久久国产综合久久| 亚洲色偷偷色噜噜狠狠99网| 亚洲国产欧美日韩| 国产欧美日韩网站| 日韩网站在线免费观看| 91麻豆精品国产综合久久久久久| 一级毛片免费看| 在线播放成人av| 草草浮力影院| 亚洲人成网站在线观看播放| 欧美激情一区二区三区蜜桃视频| 久久婷婷国产综合尤物精品| 日韩精品一区二区三区在线| 国产精品人人爽| 亚洲精品国产a久久久久久| 亚洲美女在线国产| 欧美日韩国产一区二区三区| 亚洲国产精品久久久久| 精品久久久无码中文字幕| 亚洲第一毛片| 国产精品333| 精品久久久久久一区| 成人黄色网页| 日韩一级大片在线| 在线精品免费视| 97夜夜澡人人双人人人喊| 欧美日韩色婷婷| 国产亚洲色婷婷久久99精品91| 欧美成人激情视频| 亚洲xxx视频| 久久资源亚洲| 51亚洲精品| 国产成人8x视频一区二区| 欧美作爱福利免费观看视频| 亚洲春色在线| 国产主播福利| 亚洲国产精品成人天堂| 精品一区二区三区免费毛片| 国产欧美亚洲视频| 国产免费成人| 久久久五月婷婷| 精品国产一区二区在线| 欧美一卡二卡三卡| 少妇大叫太大太粗太爽了a片小说| 亚洲精品国模| 蜜臀久久99精品久久久画质超高清| 桃色av一区二区| 中文字幕久久网| 国产成人精品免费网站| 中文字幕一区二区三区电影| 爽爽影院免费观看视频| www.香蕉视频| 欧美老年两性高潮| 男女视频免费看| 色噜噜狠狠狠综合曰曰曰88av| 精品久久一区二区三区蜜桃| 欧美大胆一级视频| 午夜黄色福利视频| 2024最新电影在线免费观看| 日本在线视频www| 亚洲新声在线观看| 国产免费一区二区| 红桃视频成人在线观看| 亚洲国产日韩一区| xxxcom在线观看| 在线免费三级电影网站| 国产中文字幕久久| 欧美成人视屏| 国产精品精品国产| 国产美女黄色| 另类春色校园亚洲| 久久婷婷综合色| 综合视频在线观看| 在线观看成人av电影| 欧美日韩免费视频| 亚洲 欧美综合在线网络| 成人做爰66片免费看网站| 免费高清视频日韩| 最近中文字幕mv在线一区二区三区四区| 精品视频在线观看一区| 午夜诱惑痒痒网| 精品三级久久久久久久电影聊斋| 国产综合色在线观看| 日韩一区二区三区免费视频| 好操啊在线观看免费视频| jizzjizzjizzjizz日本| 精品一区在线播放| 好吊一区二区三区| 中文字幕在线视频免费观看| 亚洲成av人片在线观看无| 日韩在线网址| wwwwww欧美| 日日夜夜精品视频| 欧美a在线看| 91高清一区| 久久久一区二区三区不卡| 国产精品日本一区二区不卡视频| 欧美日韩在线精品成人综合网| 亚洲在线视频免费观看| 97人人模人人爽人人少妇| 久久久久亚洲AV成人网人人小说| 高清欧美一区二区三区| 亚洲国产欧美一区| 婷婷久久综合九色国产成人| 欧美一级片免费在线| 国产一区二区三区在线免费观看| 伊人www22综合色| 国产精品无码免费播放| 精品国产31久久久久久| 综合久久2019| 久久亚洲二区| 亚洲综合五月| 久久久人成影片一区二区三区观看| 成人丁香基地| 在线不卡中文字幕| 亚洲综合999| 国产精品久久久久久久久快鸭| 国产在线黄色| 一本一道久久a久久综合蜜桃| 欧美aⅴ一区二区三区视频| 新片速递亚洲合集欧美合集| 日韩一级精品| 青青青免费在线| av资源种子在线观看| 成人97在线观看视频| 日韩在线观看| 另类一区二区| 欧美成人观看免费全部完小说| 狠狠躁夜夜躁人人爽超碰91| 精品手机在线视频| 亚洲精品二三区| 日韩一二在线观看| 久久综合九色| 欧美专区在线| 欧美婷婷精品激情| 久久久久狠狠高潮亚洲精品| 欧美亚洲另类视频| 久久久久久久伊人| 8x8x8x视频在线观看| www日韩大片| 欧美日韩精品一区| 欧美一区二区三区爽大粗免费| 一区二区高清| 国语自产精品视频在线看一大j8| 欧美成人精品一区二区| 羞羞小视频在线观看| 日本黄色a视频| www天堂在线| 亚洲精品av在线播放| 国产在线视频你懂得| 亚洲女人天堂av| 欧美日韩一二三四区| www国产黄色| 久久精品一二三区| 成人看片视频| 国产激情久久久|