php获取中文字符拼音首字母 阿星小栈

//php获取中文字符拼音首字母

    public function getFirstWord($str){

        if(empty($str)){return ‘‘;}

        $fchar=ord($str{0});

        if($fchar>=ord(‘A‘)&&$fchar<=ord(‘z‘)) return strtoupper($str{0});

        $s1=iconv(‘UTF-8‘,‘gb2312‘,$str);

        $s2=iconv(‘gb2312‘,‘UTF-8‘,$s1);

        $s=$s2==$str?$s1:$str;

        $asc=ord($s{0})*256+ord($s{1})-65536;

        if($asc>=-20319&&$asc<=-20284) return ‘A‘;

        if($asc>=-20283&&$asc<=-19776) return ‘B‘;

        if($asc>=-19775&&$asc<=-19219) return ‘C‘;

        if($asc>=-19218&&$asc<=-18711) return ‘D‘;

        if($asc>=-18710&&$asc<=-18527) return ‘E‘;

        if($asc>=-18526&&$asc<=-18240) return ‘F‘;

        if($asc>=-18239&&$asc<=-17923) return ‘G‘;

        if($asc>=-17922&&$asc<=-17418) return ‘H‘;

        if($asc>=-17417&&$asc<=-16475) return ‘J‘;

        if($asc>=-16474&&$asc<=-16213) return ‘K‘;

        if($asc>=-16212&&$asc<=-15641) return ‘L‘;

        if($asc>=-15640&&$asc<=-15166) return ‘M‘;

        if($asc>=-15165&&$asc<=-14923) return ‘N‘;

        if($asc>=-14922&&$asc<=-14915) return ‘O‘;

        if($asc>=-14914&&$asc<=-14631) return ‘P‘;

        if($asc>=-14630&&$asc<=-14150) return ‘Q‘;

        if($asc>=-14149&&$asc<=-14091) return ‘R‘;

        if($asc>=-14090&&$asc<=-13319) return ‘S‘;

        if($asc>=-13318&&$asc<=-12839) return ‘T‘;

        if($asc>=-12838&&$asc<=-12557) return ‘W‘;

        if($asc>=-12556&&$asc<=-11848) return ‘X‘;

        if($asc>=-11847&&$asc<=-11056) return ‘Y‘;

        if($asc>=-11055&&$asc<=-10247) return ‘Z‘;

        $py = new PyinitialsController();
        $result = $py->getInitials($str);
        $result = ucfirst($result[0]);
        $array = [‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘,‘G‘,‘H‘,‘I‘,‘J‘,‘K‘,‘L‘,‘M‘,‘N‘,‘O‘,
            ‘P‘,‘Q‘,‘R‘,‘S‘,‘T‘,‘U‘,‘V‘,‘W‘,‘X‘,‘Y‘,‘Z‘];
        if(!in_array($result,$array)){
            return ‘#‘;
        }
        // return ucfirst($result[0]);
    }

原文地址:https://www.cnblogs.com/dereckbu/p/8469733.html

时间: 2024-08-11 05:44:29

php获取中文字符拼音首字母 阿星小栈的相关文章

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

//php获取中文字符拼音首字母 function getFirstCharter($str){ if(empty($str)){ return ''; } $fchar = ord($str{0}); if($fchar >= ord('A') && $fchar <= ord('z')){ return strtoupper($str{0}); } $s1=iconv('UTF-8','gb2312',$str); $s2=iconv('gb2312','UTF-8',$s

好用的获取中文字符串拼音首字母的方法(亲测)

function getFirstCharter($str){ if(empty($str)){return '';} $fchar=ord($str{0}); if($fchar>=ord('A')&&$fchar<=ord('z')) return strtoupper($str{0}); $s1=iconv('UTF-8','gb2312',$str); $s2=iconv('gb2312','UTF-8',$s1); $s=$s2==$str?$s1:$str; $as

asp.net获取中文汉字的首字母

/// <summary>  /// 通过汉字区位码得到其首字母(小写)  /// </summary>  /// <param name="nCode">汉字编码</param>  /// <returns></returns>  public string FirstLetter(int nCode) {   if (nCode >= 1601 && nCode < 1637) re

C# 获取汉字的拼音首字母(转)

原文:https://blog.csdn.net/younghaiqing/article/details/62417269 一种是把所有中文字符集合起来组成一个对照表:另一种是依照汉字在Unicode编码表中的排序来确定拼音的首字母.碰到多音字时就以常用的为准(第一种方法中可以自行更改,方法为手动把该汉字移动到对应的拼音首字母队列,我们这里介绍第二种. 获取汉字拼音的首字母是一个在做项目的过程中经常需要用到的功能,今天我们主要来探讨下C# 获取汉字的拼音首字母 static void Main

MySQL通过函数获取字符串汉字拼音首字母大写字符串

DELIMITER $$ DROP FUNCTION IF EXISTS `Fun_GetPY`$$ CREATE FUNCTION `HIS`.`Fun_GetPY` (in_string VARCHAR(21845)) RETURNS VARCHAR(21845) CHARSET utf8 BEGIN #截取字符串,每次做截取后的字符串存放在该变量中,初始为函数参数in_string值 DECLARE tmp_str VARCHAR(21845) CHARSET gbk DEFAULT ''

php 中文转拼音首字母问题

<?php /* 中文汉字转拼音首字母的PHP简易实现方法. 要求: 只能是GB2312码表里面中文字符 转换得到字符串对应的拼音首字母大写. 用法: echo zh2py::conv('Chinese 中华人民共和国');//Chinese ZHRMGHG 或 $py = new zh2py; echo $py->conv('Chinese 中华人民共和国');//Chinese ZHRMGHG */ class zh2py { //根据汉字区位表 //我们可以看到从16-55区之间是按拼音

sql获取汉字的拼音首字母

if exists (select * from sysobjects where id = object_id(N'[fn_ChineseToSpell]') and xtype in (N'FN', N'IF', N'TF')) www.2cto.com drop function [fn_ChineseToSpell]GO/*创建取拼音首字母函数*/ create function [dbo].[fn_ChineseToSpell](@strChinese varchar(500)='')

SqlServer 获取汉字的拼音首字母

一.该函数传入字符串,返回数据为:如果为汉字字符,返回该字符的首字母,如果为非汉字字符,则返回本身.二.用到的知识点:汉字对应的UNICODE值,汉字的排序规则.三.数据库函数: CREATE FUNCTION GetInitialLetter(@ChineseString NVARCHAR(4000)) RETURNS NVARCHAR(4000) AS BEGIN DECLARE @SingleCharacter NCHAR(1), @ReturnString NVARCHAR(4000)

C# 获取汉字的拼音首字母

/// <summary> /// 在指定的字符串列表CnStr中检索符合拼音索引字符串 /// </summary> /// <param name="CnStr">汉字字符串</param> /// <returns>相对应的汉语拼音首字母串</returns> public static string GetSpellCode(string CnStr) { string strTemp="&quo