これ以上ナンセンスはやめて、コードに直接進みましょう:
复制代码代码如下:
クラス GetPingYing {
プライベート $pylist = array(
'a'=>-20319、
'ai'=>-20317、
'an'=>-20304、
'ang'=>-20295,
'ao'=>-20292,
'ba'=>-20283,
'bai'=>-20265,
'禁止'=>-20257,
'バン'=>-20242,
'バオ'=>-20230、
'bei'=>-20051、
'ベン'=>-20036,
'ベン'=>-20032,
'bi'=>-20026、
'ビアン'=>-20002,
'biao'=>-19990,
'bie'=>-19986,
'bin'=>-19982,
'bing'=>-19976,
'bo'=>-19805、
'bu'=>-19784、
'ca'=>-19775、
'cai'=>-19774、
'できる'=>-19763,
'cang'=>-19756,
'cao'=>-19751,
'ce'=>-19746、
'ceng'=>-19741,
'cha'=>-19739,
'チャイ'=>-19728,
'ちゃん'=>-19725,
'chang'=>-19715,
'チャオ'=>-19540,
'チェ'=>-19531、
'チェン'=>-19525,
'チェン'=>-19515,
'chi'=>-19500、
'chong'=>-19484,
'chou'=>-19479、
'chu'=>-19467,
'chuai'=>-19289,
'川'=>-19288,
'チュアン'=>-19281,
'chui'=>-19275、
'春'=>-19270,
'中央'=>-19263,
'ci'=>-19261、
'cong'=>-19249,
'cou'=>-19243,
'cu'=>-19242,
'cuan'=>-19238,
'cui'=>-19235,
'cun'=>-19227,
'cuo'=>-19224,
'da'=>-19218、
'dai'=>-19212,
'ダン'=>-19038、
'ダン'=>-19023,
'dao'=>-19018、
'de'=>-19006、
'デン'=>-19003,
'di'=>-18996,
'ディアン'=>-18977,
'diao'=>-18961,
'死ぬ'=>-18952,
'ding'=>-18783,
'ディウ'=>-18774,
'ドン'=>-18773,
'dou'=>-18763、
'du'=>-18756、
'ドゥアン'=>-18741、
'dui'=>-18735、
'dun'=>-18731、
'デュオ'=>-18722、
'e'=>-18710、
'en'=>-18697、
「えー」=>-18696、
'fa'=>-18526、
'ファン'=>-18518、
'牙'=>-18501、
'フェイ'=>-18490、
'フェン'=>-18478,
'feng'=>-18463、
'fo'=>-18448、
'fou'=>-18447、
'fu'=>-18446、
'が'=>-18239、
'gai'=>-18237,
'ガン'=>-18231、
'ギャング'=>-18220、
'gao'=>-18211、
'ge'=>-18201、
'gei'=>-18184,
'gen'=>-18183、
'geng'=>-18181、
'ゴング'=>-18012、
'gou'=>-17997,
'gu'=>-17988、
'グア'=>-17970、
'グアイ'=>-17964,
'guan'=>-17961、
'guang'=>-17950,
'gui'=>-17947、
'銃'=>-17931、
'guo'=>-17928、
'は'=>-17922、
'ハイ'=>-17759、
'ハン'=>-17752、
'ハング'=>-17733、
'ハオ'=>-17730、
'彼'=>-17721、
'ヘイ'=>-17703、
'ヘン'=>-17701、
'heng'=>-17697、
'ホン'=>-17692、
'hou'=>-17683、
'hu'=>-17676、
'華'=>-17496、
'淮'=>-17487、
'フアン'=>-17482、
'黄'=>-17468、
'フイ'=>-17454、
'フン'=>-17433、
'huo'=>-17427、
'ji'=>-17417、
'jia'=>-17202、
'ジャン'=>-17185、
'江'=>-16983、
'jiao'=>-16970、
'jie'=>-16942、
'ジン'=>-16915,
'jing'=>-16733、
'ジオング'=>-16708,
'jiu'=>-16706、
'ju'=>-16689、
'フアン'=>-16664、
'ジュエ'=>-16657、
'jun'=>-16647,
'ka'=>-16474、
'kai'=>-16470、
'kan'=>-16465、
'カン'=>-16459、
'kao'=>-16452、
'ke'=>-16448、
'ケン'=>-16433、
'keng'=>-16429,
'kong'=>-16427、
'コウ'=>-16423,
'ku'=>-16419、
'クア'=>-16412、
'クアイ'=>-16407,
'クアン'=>-16403、
'クアン'=>-16401、
'kui'=>-16393、
'くん'=>-16220、
'kuo'=>-16216、
'la'=>-16212、
'lai'=>-16205、
'lan'=>-16202、
'lang'=>-16187、
'ラオ'=>-16180、
'le'=>-16171、
'レイ'=>-16169、
'長さ'=>-16158、
'li'=>-16155、
'lia'=>-15959、
'リアン'=>-15958、
'梁'=>-15944,
'リャオ'=>-15933,
'嘘'=>-15920,
'lin'=>-15915、
'ling'=>-15903、
'liu'=>-15889、
'長い'=>-15878、
'ルー'=>-15707、
'lu'=>-15701、
'lv'=>-15681、
'ルアン'=>-15667,
'lue'=>-15661、
'ルン'=>-15659、
'羅'=>-15652、
'ma'=>-15640、
'mai'=>-15631、
'男'=>-15625、
'マング'=>-15454,
'マオ'=>-15448、
「私」=>-15436、
'メイ'=>-15435,
'男性'=>-15419、
'meng'=>-15416、
'mi'=>-15408、
'ミアン'=>-15394,
'ミャオ'=>-15385,
'三重'=>-15377,
'分'=>-15375、
'明'=>-15369,
'ミュウ'=>-15363,
'mo'=>-15362、
'mou'=>-15183、
'mu'=>-15180、
'na'=>-15165、
'ない'=>-15158、
'nan'=>-15153、
'nang'=>-15150、
'nao'=>-15149,
'ne'=>-15144、
'nei'=>-15143、
'ねん'=>-15141、
'neng'=>-15140、
'ni'=>-15139、
'年'=>-15128、
'ニャン'=>-15121,
'ニャオ'=>-15119,
'nie'=>-15117、
'nin'=>-15110、
'ニング'=>-15109,
'ニウ'=>-14941、
'ノン'=>-14937、
'nu'=>-14933、
'nv'=>-14930、
'ヌアン'=>-14929,
'鵺'=>-14928,
'nuo'=>-14926、
'o'=>-14922、
'ou'=>-14921、
'pa'=>-14914、
'パイ'=>-14908、
'パン'=>-14902、
'パン'=>-14894、
'パオ'=>-14889、
'pei'=>-14882、
'ペン'=>-14873、
'ペン'=>-14871、
'pi'=>-14857、
'ピアン'=>-14678、
'piao'=>-14674、
'パイ'=>-14670、
'ピン'=>-14668、
'ping'=>-14663、
'po'=>-14654、
'pu'=>-14645、
'qi'=>-14630、
'qia'=>-14594、
'qian'=>-14429、
'強'=>-14407、
'qiao'=>-14399、
'qie'=>-14384、
'秦'=>-14379、
'清'=>-14368、
'qiong'=>-14355、
'qiu'=>-14353、
'qu'=>-14345、
'quan'=>-14170、
'que'=>-14159、
'qun'=>-14151、
'ran'=>-14149、
'rang'=>-14145、
'ラオ'=>-14140、
「れ」=>-14137、
'ren'=>-14135、
'reng'=>-14125、
'ri'=>-14123、
'rong'=>-14122、
'rou'=>-14112、
'ru'=>-14109、
'ルアン'=>-14099,
'rui'=>-14097、
'実行'=>-14094,
'ruo'=>-14092、
'sa'=>-14090、
'sai'=>-14087、
'さん'=>-14083、
'歌った'=>-13917、
'sao'=>-13914,
'se'=>-13910、
'sen'=>-13907、
'seng'=>-13906、
'sha'=>-13905、
'シャイ'=>-13896、
'シャン'=>-13894、
'シャン'=>-13878、
'シャオ'=>-13870、
「彼女」=>-13859、
'シェン'=>-13847、
'盛'=>-13831、
'し'=>-13658、
'shou'=>-13611、
'シュ'=>-13601、
'シュア'=>-13406、
'シュアイ'=>-13404,
'シュアン'=>-13400、
'シュアン'=>-13398、
'水'=>-13395、
'shun'=>-13391、
'shuo'=>-13387、
'si'=>-13383、
'歌'=>-13367、
'sou'=>-13359、
'su'=>-13356、
'スアン'=>-13343、
'スイ'=>-13340、
'sun'=>-13329、
'suo'=>-13326、
'ta'=>-13318、
'tai'=>-13147、
'タン'=>-13138、
'タン'=>-13120,
'タオ'=>-13107,
'て'=>-13096、
'テン'=>-13095,
'ti'=>-13091、
'tian'=>-13076、
'tiao'=>-13068、
'ネクタイ'=>-13063,
'ting'=>-13060、
'トン'=>-12888、
'tou'=>-12875,
'tu'=>-12871、
'トゥアン'=>-12860、
'tui'=>-12858、
'tun'=>-12852、
'tuo'=>-12849、
'わ'=>-12838、
'ワイ'=>-12831、
'wan'=>-12829、
'王'=>-12812、
'wei'=>-12802、
'wen'=>-12607、
'ウェン'=>-12597,
'wo'=>-12594、
'wu'=>-12585、
'xi'=>-12556、
'xia'=>-12359、
'西安'=>-12346、
'xiang'=>-12320、
'xiao'=>-12300、
'xie'=>-12120、
'xin'=>-12099、
'xing'=>-12089、
'xiong'=>-12074、
'xiu'=>-12067、
'xu'=>-12058、
'xuan'=>-12039、
'xue'=>-11867、
'xun'=>-11861、
'ya'=>-11847、
'やん'=>-11831、
'陽'=>-11798,
'yao'=>-11781、
「ye」=>-11604、
'yi'=>-11589、
'陰'=>-11536、
'ying'=>-11358、
'よ'=>-11340、
'ヨン'=>-11339,
「あなた」=>-11324、
'ゆ'=>-11303、
'元'=>-11097,
'yue'=>-11077、
'ゆん'=>-11067,
'za'=>-11055、
'zai'=>-11052、
'zan'=>-11045、
'ザン'=>-11041、
'zao'=>-11038、
'ぜ'=>-11024、
'zei'=>-11020,
'zen'=>-11019、
'zeng'=>-11018、
'zha'=>-11014、
'zhai'=>-10838、
'zhan'=>-10832、
'zhang'=>-10815、
'趙'=>-10800、
'zhe'=>-10790、
'zhen'=>-10780、
'鄭'=>-10764、
'zhi'=>-10587、
'zhong'=>-10544、
'州'=>-10533、
'zhu'=>-10519、
'zhua'=>-10331、
'zhuai'=>-10329、
'zhuan'=>-10328、
'荘'=>-10322、
'zhui'=>-10315、
'zhun'=>-10309、
'zhuo'=>-10307,
'zi'=>-10296、
'zong'=>-10281、
'zou'=>-10274、
'ず'=>-10270、
'ズアン'=>-10262、
'zui'=>-10260、
'zun'=>-10256、
'zuo'=>-10254
);
//すべてピンイン
パブリック関数 getAllPY($chinese, $delimiter = '', $length = 0) {
$py = $this->zh_to_pys($chinese, $delimiter);
if($length) {
$py = substr($py, 0, $length);
}
$py を返します。
}
//ピンインの最初の文字
パブリック関数 getFirstPY($chinese){
$結果 = '' ;
for ($i=0; $i
$p = ord(substr($chinese,$i,1));
if ($p>160) {
$q = ord(substr($chinese,++$i,1));
$p = $p*256 + $q - 65536;
}
$result .= substr($this->zh_to_py($p),0,1);
}
$result を返します ;
}
//---------------------中国語からピンインへ-------------------------- - -----//
プライベート関数 zh_to_py($num, $blank = '') {
if($num>0 && $num
chr($num) を返します;
elseif ($num-10247) {
$blank を返します。
} その他 {
foreach ($this->pylist as $py =>$code) {
if($code > $num) ブレーク
$結果 = $py
}
$結果を返す
}
}
プライベート関数 zh_to_pys($chinese, $delimiter = ' ', $first=0){
$結果 = 配列();
for($i=0; $i
$p = ord(substr($chinese,$i,1));
if($p>160) {
$q = ord(substr($chinese,++$i,1));
$p = $p*256 + $q - 65536;
}
$result[] = $this->zh_to_py($p);
if ($first) {
$result[0] を返します;
}
}
return implode($delimiter, $result);
}
}
//--------------------------中国語からピンイン終了--------------------- - ------------//
//中国語は2バイトなので、2バイトを接続する必要があります(ASCIIコードの範囲は161-255です)
$c = 'Qiqin'
for($i=0; $i
エコー ord($c[$i]).';//198 235 199 216
}
echo '
',chr(198).chr(235).chr(199).chr(216),'
';
//テスト
$PingYing = 新しい GetPingYing();
echo '
',$PingYing->getFirstPY('Yuquan Band、良い曲 - おすすめ'),'
';//yqldgbc-tj
echo $PingYing->getAllPY('Yuquan Band、良い曲 - おすすめ'),'
' //yuquanleduigebucuo-tuijian
?>
http://www.bkjia.com/PHPjc/372199.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/372199.html
技術記事
早速、コードに進みましょう。 次のようにコードをコピーします。 ?php class GetPingYing { private $pylist = array( 'a'=-20319, 'ai'=-20317, 'an'=-20304, ' ang'= -20295、'ao'=-20292、'...