文字列の中国語ピンインの最初の文字を取得する方法(プロテスト)を使用して簡単に

関数getFirstCharter($列str){
IF(空($ STR)){戻り'';}
$ FCHAR = ORD($ strの{0})。
IF($ FCHAR> = ORD( 'A')&& $ FCHAR <= ORD( 'Z'))戻りstrtoupper($ strの{0})。
$ S1 =のiconv( 'UTF-8'、 '2312'、$ strの);
$ S2 =のiconv( 'GB2312'、 'UTF-8'、$ S1)。
?$ S = $ s2の== $ strの$ S1:$ strの。
$のASC = ORD($ S {0})* 256 + ORD($ S {1}) - 65536。
もし($ ASC> = - 20319 && $昇順<= - 20284)リターン'A';
もし($ ASC> = - 20283 &&する$ ASC <= - 19776)リターン'B'。
もし($ ASC> = - 19775 && $昇順<= - 19219)復帰'C';
もし($ ASC> = - 19218 && $昇順<= - 18711)復帰'D';
もし($ ASC> = - 18710 &&する$ ASC <= - 18527)復帰'E';
もし($のASC> = -18526 && $ ASC <= - 18240)復帰 'F';
もし($ ASC> = - 18239 && $昇順<= - 17923)リターン'G'。
( - 17922 &&する$ ASC <= - $ ASC> = 17418)であれば、リターン'H';
もし($ ASC> = - 17417 &&する$ ASC <= - 16475)リターン'J'。
もし($ ASC> = - 16474 &&する$ ASC <= - 16213)リターン'K';
もし($ ASC> = - 16212 &&する$ ASC <= - 15641)復帰'L';
もし($ ASC> = - 15640 &&する$ ASC <= - 15166)復帰'M';
もし($のASC> = - 15165 &&する$ ASC <= - 14923)復帰'N';
もし($ ASC> = - 14922 &&する$ ASC <= - 14915)復帰'O';
( - 14914 &&する$ ASC <= - $ ASC> = 14631)であれば、戻り'P'。
もし($ ASC> = - 14630 &&する$ ASC <= - 14150)復帰'Q';
もし($ ASC> = - 14149 &&する$ ASC <= - 14091)リターンR '';
( - = 14090 &&ます$ ASC < - $ ASC> = 13319)であれば、リターン'S';
( - 13318 &&する$ ASC <= - $ ASC> = 12839)であれば、リターン'T';
もし($ ASC> = - 12838 &&する$ ASC <= - 12557)復帰'W';
もし($ ASC> = - 12556 &&の$ ASC <= - 11848)復帰'X';
もし($ ASC> = - 11847 &&する$ ASC <= - 11056)復帰'Y';
もし($ ASC> = - 11055 &&する$ ASC <= - 10247)復帰'Z';
ヌルを返します。
}

おすすめ

転載: www.cnblogs.com/qiaochaoyu/p/11718963.html