PHP提取中文首字母

从别人程序中扒拉出来的不是原创。Dzender的代码学习用

 

PHP代码
  1. function pykey( $py_key)   
  2. {   
  3.     $pinyin = 65536 + pys($py_key);   
  4.     if ( 45217 <= $pinyin && $pinyin <= 45252 )   
  5.     {   
  6.         $zimu = “A”;   
  7.         return $zimu;   
  8.     }   
  9.     if ( 45253 <= $pinyin && $pinyin <= 45760 )   
  10.     {   
  11.         $zimu = “B”;   
  12.         return $zimu;   
  13.     }   
  14.     if ( 45761 <= $pinyin && $pinyin <= 46317 )   
  15.     {   
  16.         $zimu = “C”;   
  17.         return $zimu;   
  18.     }   
  19.     if ( 46318 <= $pinyin && $pinyin <= 46825 )   
  20.     {   
  21.         $zimu = “D”;   
  22.         return $zimu;   
  23.     }   
  24.     if ( 46826 <= $pinyin && $pinyin <= 47009 )   
  25.     {   
  26.         $zimu = “E”;   
  27.         return $zimu;   
  28.     }   
  29.     if ( 47010 <= $pinyin && $pinyin <= 47296 )   
  30.     {   
  31.         $zimu = “F”;   
  32.         return $zimu;   
  33.     }   
  34.     if ( 47297 <= $pinyin && $pinyin <= 47613 )   
  35.     {   
  36.         $zimu = “G”;   
  37.         return $zimu;   
  38.     }   
  39.     if ( 47614 <= $pinyin && $pinyin <= 48118 )   
  40.     {   
  41.         $zimu = “H”;   
  42.         return $zimu;   
  43.     }   
  44.     if ( 48119 <= $pinyin && $pinyin <= 49061 )   
  45.     {   
  46.         $zimu = “J”;   
  47.         return $zimu;   
  48.     }   
  49.     if ( 49062 <= $pinyin && $pinyin <= 49323 )   
  50.     {   
  51.         $zimu = “K”;   
  52.         return $zimu;   
  53.     }   
  54.     if ( 49324 <= $pinyin && $pinyin <= 49895 )   
  55.     {   
  56.         $zimu = “L”;   
  57.         return $zimu;   
  58.     }   
  59.     if ( 49896 <= $pinyin && $pinyin <= 50370 )   
  60.     {   
  61.         $zimu = “M”;   
  62.         return $zimu;   
  63.     }   
  64.     if ( 50371 <= $pinyin && $pinyin <= 50613 )   
  65.     {   
  66.         $zimu = “N”;   
  67.         return $zimu;   
  68.     }   
  69.     if ( 50614 <= $pinyin && $pinyin <= 50621 )   
  70.     {   
  71.         $zimu = “O”;   
  72.         return $zimu;   
  73.     }   
  74.     if ( 50622 <= $pinyin && $pinyin <= 50905 )   
  75.     {   
  76.         $zimu = “P”;   
  77.         return $zimu;   
  78.     }   
  79.     if ( 50906 <= $pinyin && $pinyin <= 51386 )   
  80.     {   
  81.         $zimu = “Q”;   
  82.         return $zimu;   
  83.     }   
  84.     if ( 51387 <= $pinyin && $pinyin <= 51445 )   
  85.     {   
  86.         $zimu = “R”;   
  87.         return $zimu;   
  88.     }   
  89.     if ( 51446 <= $pinyin && $pinyin <= 52217 )   
  90.     {   
  91.         $zimu = “S”;   
  92.         return $zimu;   
  93.     }   
  94.     if ( 52218 <= $pinyin && $pinyin <= 52697 )   
  95.     {   
  96.         $zimu = “T”;   
  97.         return $zimu;   
  98.     }   
  99.     if ( 52698 <= $pinyin && $pinyin <= 52979 )   
  100.     {   
  101.         $zimu = “W”;   
  102.         return $zimu;   
  103.     }   
  104.     if ( 52980 <= $pinyin && $pinyin <= 53640 )   
  105.     {   
  106.         $zimu = “X”;   
  107.         return $zimu;   
  108.     }   
  109.     if ( 53689 <= $pinyin && $pinyin <= 54480 )   
  110.     {   
  111.         $zimu = “Y”;   
  112.         return $zimu;   
  113.     }   
  114.     if ( 54481 <= $pinyin && $pinyin <= 62289 )   
  115.     {   
  116.         $zimu = “Z”;   
  117.         return $zimu;   
  118.     }   
  119.     $zimu = $py_key;   
  120.     return $zimu;   
  121. }   
  122. function pys( $pysa )   
  123. {   
  124.     $pyi = “”;   
  125.     $i= 0;   
  126.     for ( ; $i < strlen$pysa ); $i++)   
  127.     {   
  128.         $_obfuscate_8w= ord( substr$pysa,$i,1) );   
  129.         if ( 160 < $_obfuscate_8w)   
  130.         {   
  131.             $_obfuscate_Bw = ord( substr$pysa$i++, 1 ) );   
  132.             $_obfuscate_8w = $_obfuscate_8w * 256 + $_obfuscate_Bw – 65536;   
  133.         }   
  134.         $pyi.= $_obfuscate_8w;   
  135.     }   
  136.     return $pyi;   
  137. }   
  138. $letter = pykey(“中华人民共和国”);   
  139. echo $letter;   
  140. ?>  
]]>

原创文章,作者:键盘游走者,如若转载,请注明出处:http://www.708034.com/2008/02/php%e6%8f%90%e5%8f%96%e4%b8%ad%e6%96%87%e9%a6%96%e5%ad%97%e6%af%8d/

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注