博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取汉语字符串拼音头字母
阅读量:4581 次
发布时间:2019-06-09

本文共 1577 字,大约阅读时间需要 5 分钟。

这个是从C# 转 PHP 的

比网上那些好用多了!生僻字可以自己添加进去!半原创

 

<?php

/*
常用方法
author:FBX
date:2011-12-19
*/
class MyCommon{
 /*获取汉语字符串拼音头字母*/
 public static function pinYinFirstLetter($str){
  $str = iconv("utf-8","gb2312",$str);
  $charset = "gb2312";
  $result = "";
        for($i=0;$i<mb_strlen($str,$charset);$i++)
  {
   $c = mb_substr($str, $i, 1,$charset);
   $asc = ord($c);
   if($asc<160){ //非中文字符
    $result.= $c;
   }
   else
   {
    $result .= self::getPYChar($c);
   }
  }

  return $result;

 }
 public static function getPYChar($string)
    {
   $hex="";  
         for  ($i=0;$i<strlen($string);$i++){
    $hex.=dechex(ord($string[$i]));
   }
   echo $dex;
            $i = hexdec(strtoupper($hex));
            if ($i == 58557) return "H";//浣字的首字母
            if ($i == 63182) return "X";//鑫字首字母
            if ($i == 60105) return "S";//晟字首字母
            if ($i == 59627) return "H";//桦字首字母
            if ($i == 57800) return "J";//崛字首字母
            if ($i == 36987) return "H";//恵字首字母
            if ($i < 45217) return "0";
            if ($i < 45253) return "A";
            if ($i < 45761) return "B";
            if ($i < 46381) return "C";
            if ($i < 46826) return "D";
            if ($i < 47010) return "E";
            if ($i < 47297) return "F";
            if ($i < 47614) return "G";
            if ($i < 48119) return "H";
            if ($i < 49062) return "J";
            if ($i < 49324) return "K";
            if ($i < 49896) return "L";
            if ($i < 50371) return "M";
            if ($i < 50614) return "N";
            if ($i < 50622) return "O";
            if ($i < 50906) return "P";
            if ($i < 51387) return "Q";
            if ($i < 51446) return "R";
            if ($i < 52218) return "S";
            if ($i < 52698) return "T";
            if ($i < 52980) return "W";
            if ($i < 53689) return "X";
            if ($i < 54481) return "Y";
            if ($i < 55290) return "Z";

            return "0";

    }
}
?>

转载于:https://www.cnblogs.com/nick-fbx/archive/2011/12/19/2293899.html

你可能感兴趣的文章