Andy's Blog » » PHP取GB2312编码字符串首字母的方法

PHP取GB2312编码字符串首字母的方法

php取GB2312编码字符串首字母的方法

<?php
/*
* @author: [email]
[email protected][/email]
*/

$dict=array(
'a'=>0xB0C4,
'b'=>0xB2C0,
'c'=>0xB4ED,
'd'=>0xB6E9,
'e'=>0xB7A1,
'f'=>0xB8C0,
'g'=>0xB9FD,
'h'=>0xBBF6,
'j'=>0xBFA5,
'k'=>0xC0AB,
'l'=>0xC2E7,
'm'=>0xC4C2,
'n'=>0xC5B5,
'o'=>0xC5BD,
'p'=>0xC6D9,
'q'=>0xC8BA,
'r'=>0xC8F5,
's'=>0xCBF9,
't'=>0xCDD9,
'w'=>0xCEF3,
'x'=>0xD188,
'y'=>0xD4D0,
'z'=>0xD7F9,
);
//取GB2312字符串首字母,原理是GBK汉字是按拼音顺序编码的.
function get_letter($input)
{
    
global $dict;
    
$str_1 = substr($input, 0, 1);
    
if ($str_1 >= chr(0x81) && $str_1 <= chr(0xfe))    {
        
$num = hexdec(bin2hex(substr($input, 0, 2)));
        
foreach ($dict as $k=>$v){
            
if($v>=$num)
            
break;
        
}
        
return $k;
    
}
    
else{
        
return $str_1;
    
}
}
 
echo get_letter('');
echo get_letter('');
echo get_letter('');
echo get_letter('');
echo get_letter('');
echo get_letter('');
echo get_letter('');
echo get_letter('万岁');
echo get_letter('c');
echo get_letter('h');
echo get_letter('i');
echo get_letter('n');
echo get_letter('a');
/**/
?>

Incoming search terms:

Tags: PHP, 编码

本文地址: http://www.21andy.com/new/20070323/613.html

1 评论 to “PHP开源CMS之MODx”

  1. tuwoo 于 2007-03-28 01:56:07 发表:

    21ANDY哥。。偶是TUWOO啊。。突然十分的想你啊。嘿嘿。。