ホームページ  >  記事  >  バックエンド開発  >  中国語のピンインの頭文字を取得する PHP 関数_PHP チュートリアル

中国語のピンインの頭文字を取得する PHP 関数_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:44:51945ブラウズ

phpは中国語のピンインの最初の文字を取得します

コードをコピーします コードは次のとおりです:

function getinitial($str)
{
$asc=ord(substr($str) ,0, 1));
if ($asc<160) //中国語以外
{
if ($asc>=48 && $asc}elseif; ($asc> =65 && $asc<=90){
return chr($asc); // A--Z
}elseif ($asc>=97 && $asc<=122){
return chr($ asc-32) ; // a--z
}else{
return '~' //その他
}
}
else //中国語
{
$asc=$asc*1000+ord($str ,1,1 ));
//ピンイン A--Z の最初の文字を取得します
if ($asc>=176161 && $ascreturn 'A'}elseif ($asc>=176197) && $asc<178193) {
return 'B';
}elseif ($asc>=178193 && $ascreturn 'C'; {
return 'D' ;
return 'F' ;
}elseif($ asc>=184193 && $asc<185254){
return 'G';
}elseif($asc>=185254 && $ascreturn 'H'; asc>=187247 && $ ascreturn 'J';
}elseif ($asc>=191166 && $ascreturn 'K' ($asc>=192172 && $) asc<194232){
return 'L'
}elseif ($asc>=194232 && $asc return 'M';
return 'M'; return 'N'; }elseif ($asc>=197182 && $ascreturn 'O';
return 'P'; }elseif($asc> =198218 && $ascreturn 'Q';
}elseif($asc>=200187 && $ascreturn 'R'; =200246 && $asc< 203250){
return 'S'; 206244){
return ' W';
}elseif ($asc>=206244 && $asc<209185){
return 'X'
}elseif ($asc>=209185 && $asc<212209){
return ' Y';
}elseif($asc>=212209){
return 'Z';
return '~';
?>






コードをコピーします

コードは次のとおりです。


function getfirstchar($s0){
$firstchar_ord=ord(strtoupper($s0{0}))
if (($firstchar_ord>); =65 および $firstchar_ord<=91) または ($firstchar_ord>=48 および $firstchar_ord<=57)) $s0{0} を返します
$s=iconv("UTF-8","gb2312", $s0) ;
$asc=ord($s{ 0})*256+ord($s{1})-65536;
if($asc>=-20319 および $asc<=-20284)return "A"; if($asc>=-20283 および $asc<=-19776)return "B";
if($asc>=-19775 and $asc<=-19219)return "C"; -19218 および $asc<=-18711) は "D" を返します
if($asc>=-18710 および $asc<=-18527) は "E" を返します
if($asc>=-18526 および $asc< =-18240) "F" を返す;
if($asc>=-18239 および $asc<=-17923) を返す "G";
if($asc>=-17922 および $asc<=-17418) を返す " H";
if($asc>= -17417 および $asc<=-16475)return "J";
if($asc>=-16474 および $ascif( $asc>=-16212 および $asc< =-15641) 戻り値
if($asc>=-15640 および $asc<=-15166) 戻り値 if($asc>=-15165)および $asc<=-14923)return "N"; if($asc>=-14922 および $asc<=-14915)return "O"; if($asc>=-14914 および $asc<=- 14631)「P」を返す; if($asc>=-14630 および $asc<=-14150)「Q」を返す;
if($asc>=-14149 および $asc<=-14091)「R」を返す;
if($asc>=-14090 および $asc<=-13319)return "S";
if($asc>=-13318 および $asc<=-12839)return "T"; ;=-12838 および $asc<=- 12557) 戻り値 "W";
if($asc>=-12556 および $ascif($asc>=-11847 および $ asc<=-11056)return "Y" ;
if($asc>=-11055 and $asc<=-10247)return "Z";
return null

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/320451.html技術記事 PHP は中国語のピンインの最初の文字を取得します。 コピー コードは次のとおりです。 ?php function getinitial($str) { $asc=ord(substr($str,0,1)) if ($asc160) //Non-中国語 { if ($asc=48 $asc=57){ ret...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。