PHP汉字转拼音UTF-8版

PHP汉字转拼音UTF-8版

下面是部分代码,完整代码请点这里下载

function str2py($s){ $s=preg_replace(“/\s/is”,”_”,$s); $s=preg_replace(“/(|\~|\`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\+|\=|\{|\}|\[|\]|\||\\|\:|\;|\”|\’|\<|\,|\>|\.|\?|\/)/is”,””,$s); $py=””; $i=0;
//加入这一句,自动识别UTF-8
if(strlen(“拼音”)>4)$s=iconv(‘UTF-8’, ‘GBK’, $s);
for($i=0;$i<strlen($s);$i++){ if(ord($s[$i])>128){ if($py!=””)$py.=”_”; $py.=$this->asi2py(ord($s[$i])+ord($s[$i+1])*256); $i++; }else{ $py.=$s[$i]; } if(strlen($py)>=20)return $py; } return $py; }

function asi2py($a){ //比较不解,直接使用 $this->pinyin ,获取key()时失败。
$py=$this->pinyin; foreach($py as $p){ if(array_search($a,$p)===false){ }else{ return key($py); } next($py); } } };

滚动至顶部