首页 > 开发 > PHP > 正文

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

2024-05-04 23:02:59
字体:
来源:转载
供稿:网友

<?php
/*
* @author: [email protected]
*/
$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');
/**/
?>

商业源码热门下载www.html.org.cn

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表