PHP获取中文字符拼音首字母

作者:IT技术圈子 浏览量:319   更新于 2023-09-30 23:44 标签:

PHP获取中文字符拼音首字母,示例代码如下

//获取中文字符拼音首字母
function getFirstCharter($str){
      if(empty($str))
      {
            return '';          
      }
      $fchar=ord($str{0});
      if($fchar>=ord('A')&&$fchar=-20319&&$asc=-20283&&$asc=-19775&&$asc=-19218&&$asc=-18710&&$asc=-18526&&$asc=-18239&&$asc=-17922&&$asc=-17417&&$asc=-16474&&$asc=-16212&&$asc=-15640&&$asc=-15165&&$asc=-14922&&$asc=-14914&&$asc=-14630&&$asc=-14149&&$asc=-14090&&$asc=-13318&&$asc=-12838&&$asc=-12556&&$asc=-11847&&$asc=-11055&&$asc<=-10247) return 'Z';
     return null;
}

PHP获取整条字符串汉字拼音首字母,示例代码如下

/**
 * 获取整条字符串汉字拼音首字母
 * @param $zh
 * @return string
 */
function pinyin_long($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 .= getFirstCharter($s2);
        }else{
            $ret .= $s1;
        }
    }
    return $ret;
}