PHP提取中文首字母

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

 

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