在php开发中有把汉字转换为拼音的需求

这里主要说明Ascii和gbk 格式的汉字转为拼音的内容,如果你是utf-8的,那就通过iconv()函数转utf-8为gbk,在进行拼音转换//Ascii转拼音

function asc_to_pinyin($asc,$pyarr){

if($asc<128){

return chr($asc);

}elseif(isset($pyarr[$asc])){

return $pyarr[$asc];

}else{

foreach($pyarr as $id=>$p){

if($id>=$asc){

return $p;

}

}

}

}

//gbk转拼音

function gbk_to_pinyin($txt){

$l = strlen($txt);  //返回字符串长度strlen("证人")以字节为单位,gbk编码下,一个汉字2个字节,所有“证人”长度为4。区别于mb_strlen()已个数为单位返回长度,mb_strlen(“证人”);返回长度2

$i = 0;

$pyarr = array();

$py = array();

$filename = 'gb-pinyin.table';  //拼音表文件,这里路径根据文件位置自行设置

$fp = fopen($filename,'r');

while(!feof($fp)){

$p = explode("-",fgets($fp,32)); //fgets()经常和while循环配合使用,因为fgets()读取内容是以行为单位的。读完一行就立马返回(前提是这一行没有到达文件末尾,并且是在设定的长度范围内)。所以要在循环中一行一行读取。从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。

$pyarr[intval($p[1])] = trim($p[0]);

}

fclose($fp);

ksort($pyarr);

while($i

$tmp = ord($txt[$i]);

if($tmp>=128){

$asc = abs($tmp*256+ord($txt[$i+1])-65536);

$i = $i+1;

}else{

$asc = $tmp;

}

$py[] = asc_to_pinyin($asc,$pyarr);

$i++;

}

return $py;

}

$py = gbk_to_pinyin('证人');

print_r($py);

结果:Array

(

[0] => zheng

[1] => ren

)

下载拼音库文件,下载之后自己保存为gb-pinyin.table

php gbk 拼音,php 基于gbk和 Ascii把汉字转换为拼音相关推荐

  1. php 基于gbk和 Ascii把汉字转换为拼音

    在php开发中有把汉字转换为拼音的需求 这里主要说明Ascii和gbk 格式的汉字转为拼音的内容,如果你是utf-8的,那就通过iconv()函数转utf-8为gbk,在进行拼音转换 //Ascii转 ...

  2. oracle把中文转换为拼音,怎样将“Oracle”的外部表汉字转换为拼音

    怎样将"Oracle"的外部表汉字转换为拼音 2008-03-07 eNet&Ciweek 我在原来的应用中使用代码表加一个函数来处理汉字转拼音的转换问题,现在由于工作需要 ...

  3. java将汉字转成拼音首字母大写字母_Java 将汉字转换为拼音并取首字母大写

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 首先需要引入pinyin4j-2.5.0.jar 在定义一个servlet.Java的类,写一个Converting方法 实例代码详解如下: public ...

  4. 基于struts2、spring、spring data jpa实现poi导入 + pinyin4j将汉字转换为拼音

    基于struts2.spring.spring data jpa实现poi导入 + pinyin4j将汉字转换为拼音 1.引入坐标到pom.xml <!-- Excel解析工具类 -->& ...

  5. php繁体拼音字母,[UTF-8]汉字转换为拼音首字母pinyinFirstChar.fn.php

    说明: 一个PHP函数,可以将UTF-8编码的汉字转换为拼音首字母,由GBK的汉字转拼音首字母的函数修改而来.只转换GBK编码内的汉字,标点.字母及GBK内没有的汉字将直接输出不转换. 用法: ech ...

  6. 程序实现汉字转换为拼音

    做了一个讯飞语音识别的项目,API返回的识别结果是汉字格式.需要提取关键字与数据库中的数据进行匹配,为提高数据的识别率.考虑到需要将数据库中的文字和识别后的数据转换为拼音的形式进行匹配.但也没找到相关 ...

  7. java 中文转成_Java实现汉字转换为拼音 [转]

    代码说明: Java实现汉字转换为拼音的GUI版本. GUI代码部分: /** * @(#)CnToSpellGUI.java * kindani * 2004-10-25?? * */ import ...

  8. java把汉字转换成拼音_Java实现汉字转换为拼音

    本文的核心代码取自easydozer的blog:http://blog.csdn.net/easydozer/ 代码说明: Java实现汉字转换为拼音的GUI版本. GUI代码部分: /** * @( ...

  9. java jisuan da xie zi mu ge shu_Java 实现汉字转换为拼音的实例

    Java 实现汉字转换为拼音 转换类 public class PINYINChinese { private static int[] pyvalue = new int[] { -20319, - ...

最新文章

  1. 你说,一个Java字符串到底有多少个字符?
  2. 数据结构与算法之贪心算法 C++实现
  3. 049_Number对象
  4. AI理论知识整理(11)-线性组合线性相关与线性无关
  5. NIPS 2017 | 线上分享第一期:似自然梯度的优化算法KFAC与强化学习算法ACKTR
  6. webService学习3:客户端生成webservice代码
  7. c# 2.0 Factory的实现
  8. 8086减法指令SUB
  9. python 加权随机算法_加权随机算法 - 飞儿飞的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. 利用ipsec配置tcp/ip用于安全连接
  11. 【每日算法Day 96】腾讯面试题:合并两个有序数组
  12. 顺应“互联网+医疗”大势 富春云携手阿里云打造云 PACS 项目
  13. leetcode 859. Buddy Strings
  14. 【】每日360题,2019.11.02日08点财会类考试习题答案
  15. QT使用ODBC连接MySQL
  16. PHP公历农历转换(阴历阳历转换)阴历和阳历转换
  17. 嵌入式Linux MIPI接口LCD调试-关于DRM显示与应用调试的干货浓缩
  18. 医学四视图-005-四视图加按钮
  19. C++ 二元一次不定方程巧妙求解——运用扩展欧几里得算法
  20. 高手教你ie主页被篡改怎么办|加个参数永远不怕IE主页被修改

热门文章

  1. uap 自动生成场景代码
  2. 交换机断网的原因分析
  3. 越吃越年轻的26种抗衰老食物
  4. 傅里叶变换短时傅里叶变换小波变换
  5. itext html转换为pdf排版错乱,使用iText库将html转换为pdf时不适用hr的Inline CSS
  6. TikTok上的美金,如何提现到PayPal
  7. 台式计算机的安装顺序,台式电脑安装系统步骤图 装系统步骤详解
  8. 2021年目标,我打算这样去实现
  9. IDEA 各种疑难杂症
  10. c/c++编写dll供其他语言调用