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