PHP에서 한자를 병음(dede)으로 변환
풀어 주다: 2016-07-25 08:47:36
php汉字转拼音(dede) 拉个外链哈! http://www.tao11.cn/a0b923820dcc509a.html http://www.tao11.cn/9d4c2f636f067f89.html http://www.tao11.cn/4b5ce2fe28308fd9.html http://www.tao11.cn/bbce2345d7772b06.html 里面的pinyin.dat 在附近里面
- /**
- * 汉字
- * @param string $str 待转换的字符串
- * @param string $charset 字符串编码
- * @param bool $ishead 是否只提取首字母
- * @return string 返回结果
- */
- static 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(dirname(__FILE__).'/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;
- }
复制代码
|
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31