php将汉字转换成拼音的函数代码
时间:2015-06-22 阅读:次 QQ群:182913345
在php中将汉字转换成拼音的函数,注意要先准确个汉字拼音字典库,具体实现代码如下:
<?php /** * 汉字转拼音 * @param string $str 待转换的字符串 * @param string $charset 字符串编码 * @param bool $ishead 是否只提取首字母 * @return string 返回结果 */ function GetPinyin($str,$charset="utf-8",$ishead = 0) { $restr = ''; $str = trim($str); if($charset=="utf-8"){ $str=iconv("utf-8","gb2312",$str); } $slen = strlen($str); $pinyins=array(); if ($slen < 2) { return $str; } $fp = fopen('./Public/js/pinyin.dat', 'r'); while (!feof($fp)) { $line = trim(fgets($fp)); $pinyins[$line[0] . $line[1]] = substr($line, 3, strlen($line) - 3); } fclose($fp); for ($i = 0; $i < $slen; $i++) { if (ord($str[$i]) > 0x80) { $c = $str[$i] . $str[$i + 1]; $i++; if (isset($pinyins[$c])) { if ($ishead == 0) { $restr .= $pinyins[$c]; } else { $restr .= $pinyins[$c][0]; } } else { $restr .= "_"; } } else if (preg_match("/[a-z0-9]/i", $str[$i])) { $restr .= $str[$i]; } else { $restr .= "_"; } } return $restr; } |
上一篇:ThinkPHP 自动完成实例
下一篇:ThinkPHP 字段映射