中文汉字转拼音的最简便方法

中文汉字转拼音的最简便方法
网上搜索一大推,但是很乱,很长的一段代码,所以我用自己的方法,简单明了.大家可以试试.目前这方法用在了公司的网站开发中.
//中文汉字转拼音
function gbtopy($text, $exp = '') {
if(!$text) return '';
$text = iconv("UTF-8","GBK//IGNORE",$data); //最好先判断下编码形式再转码
$data = array();
$tmp = @file('gb-pinyin.table'); //设置正确的gb-pinyin.table文件路径
if(!$tmp) return '';
$tmps = count($tmp);
for($i = 0; $i < $tmps; $i++) {
$tmp1 = explode(" ", $tmp[$i]);
$data[$i]=array($tmp1[0], $tmp1[1]);
}
$r = array();
$k = 0;
$textlen = strlen($text);
for($i = 0; $i < $textlen; $i++) {
$p = ord(substr($text, $i, 1));
if($p > 160) {
$q = ord(substr($text, ++$i, 1));
$p = $p*256+$q-65536;
}
if($p > 0 && $p < 160) {
$r[$k] = chr($p);
} elseif($p< -20319 || $p > -10247) {
$r[$k] = '';
} else {
for($j = $tmps-1; $j >= 0; $j--) {
if($data[$j][1]<=$p) break;
}
$r[$k] = $data[$j][0];
}
$k++;
}
return implode($exp, $r);
}
gb-pinyin.table下载地址:  http://pan.baidu.com/s/1o659jzs

你可能感兴趣的:(PHP)