技术前线-绿色安全的源码下载站!
首 页文章资讯下载中心html颜色代码表
当前位置:技术前线文章资讯web技术PHP技术

从dedecms上拿下来的汉字转拼音函数

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2016-05-12 12:44:15

能实现常用汉字的转换,生僻汉字会被替换成下划线_

需要一个拼音库,跟脚本放在同一目录下,在附件里。

    <?php
    //示例
    echo GetPinyin("魍魉");
    /**
     * 汉字转拼音
     * @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('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;
    }

点击下载此文件

Tags:汉字转拼音函数 dedecms

作者:佚名
+1
-0

用户名: 查看更多评论

内 容:

         验证码:

所有源码和资料均为软件作者提供和网友推荐收集整理而来,仅供学习和研究使用。如有侵犯你版权的,请来信指出,本站将立即改正。

关于本站 | 网站帮助 | 广告合作 | 下载声明 | 友情连接 | 网站地图 | 资源sitemap | 文章sitemap

Copyright © 2014-2026 技术前线. All Rights Reserved .

Powered by:源码下载www.gaoitde.com 页面执行时间:1,234.37500 毫秒 建站时间:2014-09-28        网站备案:渝ICP备14007251号-1