php中文汉字转拼音代码

代码语言:php

所属分类:其他

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<?php



/**
* 将中文编码成拼音
*
* @param string $utf8Data
*            utf8字符集数据
* @param string $sRetFormat
*            返回格式 [head:首字母|all:全拼音]
* @return string
*/
function ToPinyin($utf8Data, $sRetFormat = 'head', $_delimeter = "") {
    $sGBK = iconv('UTF-8', 'GBK', $utf8Data);
    $aBuf = array();
    for ($i = 0, $iLoop = strlen($sGBK); $i < $iLoop; $i ++) {
        $iChr = ord($sGBK {
            $i
        });
        if ($iChr > 160)
            $iChr = ($iChr << 8) + ord($sGBK {
            ++ $i
        }) - 65536;
        if ('head' === $sRetFormat)
            $aBuf[] = substr(zh2pyonce($iChr), 0, 1);
        else
            $aBuf[] = zh2pyonce($iChr);
    }
    if ('head' === $sRetFormat)
        return implode($_delimeter, $aBuf);
    else
        return implode($_delimeter, $aBuf);
}

/**
* 中文转换到拼音(每次处理一个字符)
*
* @param number $iWORD
*            待处理字符双字节
* @return string 拼音
*/
function zh2pyonce($iWORD) {
    /**
    * 拼音字符转换图
    *
    * @var array
    */
    $_aMaps = array(
        'a' => - 20319,
        'ai' => - 20317,
        'an' => - 20304,
        'ang' => - 20295,
        'ao' => - 20292,
        'ba' => - 20283,
        'bai' => - 20265,
        'ban' => - 20257,
        'bang' => - 20242,
        'bao' => - 20230,
        'bei' => - 20051,
        'ben' => - 20036,
        'beng' => - 20032,
        'bi' => - 20026,
        'bian' => - 20002,
        'biao' => - 19990,
        'bie' => - 19986,
        'bin' => - 19982,
        'bing' => - 19976,
        'bo' => - 19805,
        'bu' => - 19784,
        'ca' => - 19775,
        'cai' => - 19774,
        'can' => - 19763,
        'cang' => - 19756,
        'cao' => - 19751,
        'ce' => - 19746,
        'ceng' => - 19741,
        'cha' => - 19739,
        'chai' => - 19728,
        'chan' => - 19725,
        'chang' => - 19715,
        'chao' => - 19540,
        'che' => - 19531,
        'chen' => - 19525,
        'cheng' => - 19515,
        'chi' => - 19500,
        'chong' => - 19484,
        'chou' => - 19479,
        'chu' => - 19467,
        'chuai' => - 19289,
        'chuan' => - 19288,
        'chuang' => - 19281,
        'chui' => - 19275,
        'chun' => - 19270,
        'chuo' => - 19263,
        'ci' => - 19261,
        'cong' => - 19249,
        'cou' => - 19243,
        'cu' => - 19242,
        'cuan' => - 19238,
        'cui' => - 19235,
        'cun' => - 19227,
        'cuo' => - 19224,
        'da' => - 19218,
        'dai' => - 19212,
        'dan' => - 19038,
        'dang' => - 19023,
        'dao' => - 19018,
        'de' => - 19006,
        'deng' => - 19003,
        'di' => - 18996,
        'dian' => - 18977,
        'diao' => - 18961,
        'die' => - 18952,
        'ding' => - 18783,
        'diu' => - 18774,
        'dong' => - 18773,
        'dou' => - 18763,
        'du' => - 18756,
        'duan' => - 18741,
        'dui' => - 18735,
        'dun' => - 18731,
        'duo' => - 18722,
        'e' => - 18710,
        'en' => - 18697,
        'er' => - 18696,
        'fa' => - 18526,
        'fan' => - 18518,
        'fang' => - 18501,
        'fei' => - 18490,
        'fen' => - 18478,
        'feng' => - 18463,
        'fo' => - 18448,
        'fou' => - 18447,
        'fu' => - 18446,
        'ga' => - 18239,
        'gai' => - 18237,
        'gan' => - 18231,
        'gang' => - 18220,
        'gao' => - 18211,
        'ge' => - 18201,
        'gei' => - 18184,
        'gen' => - 18183,
        'geng' => - 18181,
        'gong' => - 18012,
        'gou' => - 17997,
        'gu' => - 17988,
        'gua' => - 17970,
        'guai' => - 17964,
        'guan' => - 17961,
        'guang' => - 17950,
        'gui' => - 17947,
        'gun' => - 17931,
        'guo' => - 17928,
        'ha' => - 17922,
        'hai' => - 17759,
        'han' => - 17752,
        'hang' => - 17733,
        'hao' => - 17730,
        'he' => - 17721,
        'hei' => - 17703,
        'hen' => - 17701,
        'heng' => - 17697,
        'hong' => - 17692,
        'hou' => - 17683,
        'hu' => - 17676,
        'hua' => - 17496,
        'huai' => - 17487,
        'huan'.........完整代码请登录后点击上方下载按钮下载查看

网友评论0