php中获取中文首字母程序代码
发布:smiling 来源: PHP粉丝网 添加日期:2014-08-28 10:33:18 浏览: 评论:0
我们经常会看到一些网站按城市名来分或按字母来排名,下面我就来介绍这个东西如何实现的吧,我们分享一段利用php取得中文字符串中第一个汉字的字母,代码如下:
- <?php
- $limit = array( //gb2312 拼音排序
- array(45217,45252), //A
- array(45253,45760), //B
- array(45761,46317), //C
- array(46318,46825), //D
- array(46826,47009), //E
- array(47010,47296), //F
- array(47297,47613), //G
- array(47614,48118), //H
- array(0,0), //I
- array(48119,49061), //J
- array(49062,49323), //K
- array(49324,49895), //L
- array(49896,50370), //M
- array(50371,50613), //N
- array(50614,50621), //O
- array(50622,50905), //P
- array(50906,51386), //Q
- array(51387,51445), //R
- array(51446,52217), //S
- array(52218,52697), //T
- array(0,0), //U
- array(0,0), //V
- array(52698,52979), //W
- array(52980,53688), //X
- array(53689,54480), //Y
- array(54481,55289), //Z
- );
- $str="A:这是一个测试程序1";
- $str= iconv("UTF-8","gb2312", $str);
- echo $str."</br>";
- $i=0;
- while($i<strlen($str) ) {
- $tmp=bin2hex(substr($str,$i,1));
- if($tmp>='B0'){ //汉字的开始
- $t=getLetter(hexdec(bin2hex(substr($str,$i,2))));
- printf("%c",$t==-1 ? '*' : $t );
- //开源代码phpfensi.com
- $i+=2;
- }
- else{
- printf("%s",substr($str,$i,1));
- $i++;
- }
- }
- function getLetter($num){
- global $limit;
- $char_index=65;
- foreach($limit as $k=>$v){
- if($num>=$v[0] && $num<=$v[1]){
- $char_index+=$k;
- return $char_index;
- }
- }
- return -1;
- }
- ?>
就是根据中文拼音来判断它的ascii码的编码来算出的.
Tags: php获取首字母 php中文首字母
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)