标签:
/*-------------------------- * 汉字转拼音 * $str 要转换的字符串 * $split 是否要分割显示 * $isfirst 是否返回首字母
* _cnfonts.php (共25961字,包括 20902基本字 + 5059生僻字)
* http://files.cnblogs.com/files/helin/_cnfonts.zip -*------------------------*/ function PinYin($str,$split=true,$isfirst = false){ static $pinyins; if(!isset($pinyins)){ include_once ‘_cnfonts.php‘;//$_cnfonts=‘...‘; $a1 = explode(‘|‘, $_cnfonts); $pinyins = array(); foreach($a1 as $v) { $a2 = explode(‘:‘, $v); $pinyins[$a2[0]] = $a2[1]; } } $py = ‘‘; $str = trim($str); $str_arr = preg_split(‘/(?<!^)(?!$)/u‘, $str ); foreach($str_arr as $code){ if(isset($pinyins[$code])) { $py .= ( $split && $py ? ‘ ‘ : ‘‘ ).($isfirst ? strtoupper($pinyins[$code][0]) : $pinyins[$code]); }else{ $py .= $code; } } return $py; }
标签:
原文地址:http://www.cnblogs.com/helin/p/4347138.html