php获取汉字拼音首字母的方法

<meta http-equiv="Content-Type"content="text/html; charset=UTF-8" />
<?php
functiongetfirstchar($s0){  
    $fchar= ord($s0{0});
    if($fchar>= ord("A")and$fchar <= ord("z") )returnstrtoupper($s0{0});
    $s1= iconv("UTF-8","gb2312",$s0);
    $s2= iconv("gb2312","UTF-8",$s1);
    if($s2== $s0){$s= $s1;}else{$s= $s0;}
    $asc= ord($s{0}) * 256 + ord($s{1}) - 65536;
    if($asc>= -20319 and$asc <= -20284) return"A";
    if($asc>= -20283 and$asc <= -19776) return"B";
    if($asc>= -19775 and$asc <= -19219) return"C";
    if($asc>= -19218 and$asc <= -18711) return"D";
    if($asc>= -18710 and$asc <= -18527) return"E";
    if($asc>= -18526 and$asc <= -18240) return"F";
    if($asc>= -18239 and$asc <= -17923) return"G";
    if($asc>= -17922 and$asc <= -17418) return"I";
    if($asc>= -17417 and$asc <= -16475) return"J";
    if($asc>= -16474 and$asc <= -16213) return"K";
    if($asc>= -16212 and$asc <= -15641) return"L";
    if($asc>= -15640 and$asc <= -15166) return"M";
    if($asc>= -15165 and$asc <= -14923) return"N";
    if($asc>= -14922 and$asc <= -14915) return"O";
    if($asc>= -14914 and$asc <= -14631) return"P";
    if($asc>= -14630 and$asc <= -14150) return"Q";
    if($asc>= -14149 and$asc <= -14091) return"R";
    if($asc>= -14090 and$asc <= -13319) return"S";
    if($asc>= -13318 and$asc <= -12839) return"T";
    if($asc>= -12838 and$asc <= -12557) return"W";
    if($asc>= -12556 and$asc <= -11848) return"X";
    if($asc>= -11847 and$asc <= -11056) return"Y";
    if($asc>= -11055 and$asc <= -10247) return"Z";
    returnnull;
}
 
 
functionpinyin1($zh){
    $ret= "";
    $s1= iconv("UTF-8","gb2312",$zh);
    $s2= iconv("gb2312","UTF-8",$s1);
    if($s2== $zh){$zh= $s1;}
    for($i= 0; $i< strlen($zh);$i++){
        $s1= substr($zh,$i,1);
        $p= ord($s1);
        if($p> 160){
            $s2= substr($zh,$i++,2);
            $ret.= getfirstchar($s2);
        }else{
            $ret.= $s1;
        }
    }
    return$ret;
}
echo"这是中文字符串<br/>";
echopinyin1('这是中文字符串');
 
?>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值