中国語の文字をピンインに変換する PHP 方法_PHP チュートリアル
Jul 13, 2016 pm 05:53 PM
[php]
方法は次のとおりです:
Pinyin メソッドを直接呼び出すだけで、受信エンコーディングに注意してください
//******************************************
関数ピンイン($_String, $_Code='gb2312'){
$_DataKey = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|カン|カン|カオ|セ|セン|チャ」。
"|チャイ|チャン|チャン|チャオ|チェ|チェン|チェン|チー|チョン|チョウ|チュー|チュアイ|チュアン|チュアン|チュイ|チュン|チュオ|シ|コン|クー|クー|
"cuan|cui|cun|cuo|da|dai|dan|dang|dao|de|deng|di|dian|diao|die|ding|diu|dong|dou|du|duan|dui|dun|duo|e |en|er"。
"|fa|fan|fang|fei|fen|feng|fo|fou|fu|ga|gai|gan|gang|gao|ge|gei|gen|gen|gen|gong|gou|gu|gua|guai|guan|グァン | グイ」。
"|ガン|グオ|ハ|ハイ|ハン|ハン|ハオ|ヘ|ヘイ|ヘン|ヘン|ホン|ホウ|胡|華|淮|フアン|ファン|ホイ|フン|フオ|ジ|ジア|ジアン|江」。
"|jiao|jie|jin|jing|jiong|jiu|ju|juan|jue|jun|ka|kai|kan|kang|kao|ke|ken|keng|kong|kko|ku|kua|kuai|kuan|クアン」。
"|クイ|クン|クオ|ラ|ライ|ラン|ラン|ラオ|レ|レイ|レン|リ|リア|リアン|リャオ|嘘|リン|リン|リウ|ロング|ロウ|ル|lv|ルアン|ルー"。
"|ルン|ルオ|マ|マイ|マン|マン|マオ|メ|メイ|メン|メン|ミ|ミアン|ミャオ|ミー|ミン|ミン|ミウ|モ|モウ|ム|ナ|ナイ|ナン|ナン | ナオ | ネ」。
"|ネイ|ネン|ネン|ニ|ニアン|ニアン|ニャオ|ニ|ニン|ニン|ニウ|ノン|ヌ|ヌアン|ヌエ|ヌオ|オ|オウ|パ|パイ|パン|パン|パオ|ペイ|ペン」。
"|peng|pi|pian|piao|pie|pin|ping|po|pu|qi|qia|qian|qiang|qiao|qie|qin|qing|qiong|qiu|qu|quan|que|qun|ran|鳴った」
"|ラオ|レ|レン|レン|リ|ロン|ロウ|ル|ルアン|ルイ|ラン|ルオ|サ|サイ|サン|サン|サオ|セ|セン|セン|シャ|シャイ|シャン|シャン|シャオ|「。
」
「彼女|シェン|シェン|シ|ショウ|シュウ|シュア|シュアイ|シュアン|シュアン|シュイ|シュン|シュオ|シ|ソン|ソウ|ス|スアン|スイ|サン|スオ|タ|タイ|
」。
"タン|タン|タオ|テ|テン|ティ|ティアン|ティアオ|ネクタイ|ティン|トン|トウ|トゥ|トゥアン|トゥイ|トゥン|トゥオ|ワ|ワイ|ワン|ワン|ウェイ|ウェン|ウェン|ウォ|ウー」。
"|xi|xia|xian|xiang|xiao|xie|xin|xing|xiong|xiu|xu|xuan|xue|xun|ya|yan|yang|yao|ye|yi|yin|ying|yo|yong|あなた」。
"|yu|yuan|yue|yun|za|zai|zan|zang|zao|zei|zeng|zeng|zha|zhai|zhan|zhang|zhao|zhe|zhen|zheng|zhi|zhong|"。
"周|zhu|zhua|zhuai|zhuan|zhuang|zhui|zhun|zhuo|zi|zong|zou|zu|zuan|zui|zun|zuo
$_DataValue = "-20319|-20317|-20304|-20295|-20292|-20283|-20265|-20257|-20242|-20230|-20051|-20036|-20032|-20026|-20002|- 19990"。
"|-19986|-19982|-19976|-19805|-19784|-19775|-19774|-19763|-19756|-19751|-19746|-19741|-19739|-19728|-19725"。
"|-19715|-19540|-19531|-19525|-19515|-19500|-19484|-19479|-19467|-19289|-19288|-19281|-19275|-19270|-19263"。
"|-19261|-19249|-19243|-19242|-19238|-19235|-19227|-19224|-19218|-19212|-19038|-19023|-19018|-19006|-19003"。
"|-18996|-18977|-18961|-18952|-18783|-18774|-18773|-18763|-18756|-18741|-18735|-18731|-18722|-18710|-18697"。
"|-18696|-18526|-18518|-18501|-18490|-18478|-18463|-18448|-18447|-18446|-18239|-18237|-18231|-18220|-18211"。
"|-18201|-18184|-18183|-18181|-18012|-17997|-17988|-17970|-17964|-17961|-17950|-17947|-17931|-17928|-17922"。
"|-17759|-17752|-17733|-17730|-17721|-17703|-17701|-17697|-17692|-17683|-17676|-17496|-17487|-17482|-17468"。
"|-17454|-17433|-17427|-17417|-17202|-17185|-16983|-16970|-16942|-16915|-16733|-16708|-16706|-16689|-16664"。
"|-16657|-16647|-16474|-16470|-16465|-16459|-16452|-16448|-16433|-16429|-16427|-16423|-16419|-16412|-16407"。
"|-16403|-16401|-16393|-16220|-16216|-16212|-16205|-16202|-16187|-16180|-16171|-16169|-16158|-16155|-15959"。
"|-15958|-15944|-15933|-15920|-15915|-15903|-15889|-15878|-15707|-15701|-15681|-15667|-15661|-15659|-15652"。
"|-15640|-15631|-15625|-15454|-15448|-15436|-15435|-15419|-15416|-15408|-15394|-15385|-15377|-15375|-15369"。
"|-15363|-15362|-15183|-15180|-15165|-15158|-15153|-15150|-15149|-15144|-15143|-15141|-15140|-15139|-15128"。
"|-15121|-15119|-15117|-15110|-15109|-14941|-14937|-14933|-14930|-14929|-14928|-14926|-14922|-14921|-14914"。
"|-14908|-14902|-14894|-14889|-14882|-14873|-14871|-14857|-14678|-14674|-14670|-14668|-14663|-14654|-14645"。
"|-14630|-14594|-14429|-14407|-14399|-14384|-14379|-14368|-14355|-14353|-14345|-14170|-14159|-14151|-14149"。
"|-14145|-14140|-14137|-14135|-14125|-14123|-14122|-14112|-14109|-14099|-14097|-14094|-14092|-14090|-14087"。
"|-14083|-13917|-13914|-13910|-13907|-13906|-13905|-13896|-13894|-13878|-13870|-13859|-13847|-13831|-13658"。
"|-13611|-13601|-13406|-13404|-13400|-13398|-13395|-13391|-13387|-13383|-13367|-13359|-13356|-13343|-13340"。
"|-13329|-13326|-13318|-13147|-13138|-13120|-13107|-13096|-13095|-13091|-13076|-13068|-13063|-13060|-12888"。
"|-12875|-12871|-12860|-12858|-12852|-12849|-12838|-12831|-12829|-12812|-12802|-12607|-12597|-12594|-12585"。
"|-12556|-12359|-12346|-12320|-12300|-12120|-12099|-12089|-12074|-12067|-12058|-12039|-11867|-11861|-11847"。
"|-11831|-11798|-11781|-11604|-11589|-11536|-11358|-11340|-11339|-11324|-11303|-11097|-11077|-11067|-11055"。
"|-11052|-11045|-11041|-11038|-11024|-11020|-11019|-11018|-11014|-10838|-10832|-10815|-10800|-10790|-10780"。
"|-10764|-10587|-10544|-10533|-10519|-10331|-10329|-10328|-10322|-10315|-10309|-10307|-10296|-10281|-10274"。
"|-10270|-10262|-10260|-10256|-10254";
$_TDataKey =explode('|', $_DataKey);
$_TDataValue =explode('|', $_DataValue);
$_Data = array_combine($_TDataKey, $_TDataValue);
arsort($_Data);
リセット($_Data);
if($_Code!= 'gb2312') $_String = _U2_Utf8_Gb($_String);
$_Res = '';
for($i=0; $i
$_P = ord(substr($_String, $i, 1));
if($_P>160){
$_Q = ord(substr($_String, ++$i, 1)); $_P = $_P*256 + $_Q - 65536;
}
$_Res .= _ピンイン($_P, $_Data);
}
return preg_replace("/[^a-z0-9]*/", '', $_Res); //???????
}
関数 _ピンイン($_Num, $_Data){
if($_Num>0 && $_Num
chr($_Num)を返します;
}elseif($_Num<-20319 || $_Num>-10247){
戻る '';
}その他{
foreach($_Data as $k=>$v){ if($v
$k を返します。
}
}
関数 _U2_Utf8_Gb($_C){
$_String = '';
if($_C
$_String .= $_C;
}elseif($_C
$_String .= chr(0xC0 | $_C>>6);
$_String .= chr(0x80 | $_C & 0x3F);
}elseif($_C
$_String .= chr(0xE0 | $_C>>12);
$_String .= chr(0x80 | $_C>>6 & 0x3F);
$_String .= chr(0x80 | $_C & 0x3F);
}elseif($_C
$_String .= chr(0xF0 | $_C>>18);
$_String .= chr(0x80 | $_C>>12 & 0x3F);
$_String .= chr(0x80 | $_C>>6 & 0x3F);
$_String .= chr(0x80 | $_C & 0x3F);
}
return iconv('UTF-8','gbk',$_String);
}
作者:ブプチュア

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法
