欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【PHP实例:PHP取GB2312编码字符串首字母的方法】,下面是详细的分享!
PHP实例:PHP取GB2312编码字符串首字母的方法
<?php
$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');
?>
以上所分享的是关于PHP实例:PHP取GB2312编码字符串首字母的方法,下面是编辑为你推荐的有价值的用户互动:
相关问题:[php教程]如何用PHP实现取字符的首字母?
答:他是根据汉字gb2312编码的头两个字符的范围来区分的。 识别不出很正常,因为gb2312本身包含的汉字就不全。你搜个utf8汉字转拼音的,你再修改下取个首字符。应该好点 >>详细
相关问题:PHP 怎么把中文字符串转成URL(GB2312)编码后的字符串
答:function autoCharset($string, $from='gbk', $to='utf-8') { $from = strtoupper($from) == 'UTF8' ? 'utf-8' : $from; $to = strtoupper($to) == 'UTF8' ? 'utf-8' : $to; if (strtoupper($from) === strtoupper($to) || empty($string) || (i... >>详细
相关问题:php获取字符串首字母
答:先进行转换编码格式,有对应的函数,你去网上查一下就知道了! >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
