zoukankan      html  css  js  c++  java
  • PHP将汉字转为拼音

    没什么难度,最大的难点应该是需要有一个汉字-拼音库。

    <?php
    function spell($str, $ishead=0){
        $restr = '';
        $str = trim($str);
        $slen = strlen($str);
        if($slen < 2){//若长度小于2则不是汉字
            return $str;
        }
        /*
        .dat文件内格式为
        啊`a
        阿`a
        埃`ai
        */
        $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;
    }
    ?>

    附汉字-拼音库下载 

    欢迎各位指点!
  • 相关阅读:
    04_Windows平台Spark开发环境构建
    Hadoop Streaming 使用及参数设置
    Kafka 及 PyKafka 的使用
    Database Subquery
    Miscellaneous
    Emacs
    算法归纳
    逆元求组合数
    Elasticsearch 原理
    Linux的内存分页管理【转】
  • 原文地址:https://www.cnblogs.com/thors/p/9494388.html
Copyright © 2011-2022 走看看