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' => -.........完整代码请登录后点击上方下载按钮下载查看

网友评论0