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;
}
?>
附汉字-拼音库下载
PHP将汉字转为拼音的更多相关文章
- java实现将汉字转为拼音
		有时候为了方便操作程序的开发,需要将汉字转为拼音等操作.下面这个是自己结合网上的资料,加上自己在公司项目中的亲自实践.完整的实现了将汉字转为拼音的操作.这个Demo只是负责将其转换,在main方法中测 ... 
- java实现汉字转为拼音
		java实现汉字转为拼音: 1.需要导入pinyin4j.jar package com.loo.pinyin; import net.sourceforge.pinyin4j.PinyinHelpe ... 
- php方法-------将汉字转为拼音或者提取汉字首字母
		将汉字转为全拼,提取汉字首字母 <?php /** * 基于PHP语言的汉语转拼音的类 * 兼容 UTF8.GBK.GB2312 编码,无须特殊处理 * 对中文默认返回拼音首字母缩写,其它字符不 ... 
- c#汉字转为拼音
		using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressi ... 
- 汉字转拼音(pinyin4j)
		1.引入依赖 <dependency> <groupId>pinyin4j.sourceforge.net</groupId> <artifactId> ... 
- 用sql实现汉字转拼音
		有时我们会需要将汉字转为拼音,例如需要将省市转为拼音后当做编码存储(尽管国家有统一的标识码,但有时候我们还是会用到),网络上也有工具提供汉字转拼音的功能,但各有优劣,一般转拼音后还会存在带声调的字母, ... 
- 文件一键上传、汉字转拼音、excel文件上传下载功能模块的实现
		----------------------------------------------------------------------------------------------[版权申明: ... 
- 小程序语音红包开发中 汉字转拼音的问题  微信小程序红包开发遇到的坑
		公司最近在开发微信小程序的红包功能,语音红包需要用到文字转拼音的功能. 之前介绍过怎么将中文的汉字转为拼音的,具体看下面这篇文章. 微信语音红包小程序开发如何提高精准度 红包小程序语音识别精准度 微信 ... 
- sqlserver 汉字转拼音(转载)
		转载来源一:https://www.cnblogs.com/zhuisuo/archive/2012/01/11/2318908.html 汉字转全拼音函数优化方案(SQLServer),值得你看看 ... 
随机推荐
- Nosql与关系型数据库不同的使用场景
			Nosql 1.适合存储非结构化数据存储,数据量且不可预期.如:评论,文章 2.排行榜数据获取,实时更新的数据.如:游戏榜排名,用户投票 3.限时抢购活动.如:淘宝抢购活动 4.反垃圾系统.如:敏感词 ... 
- 我的2018OKR年终回顾与2019OKR初步规划
			转眼一年又过去了,在这个年底的时候,按照国际惯例,又到了重新回顾审视一下这一年来的得失,规划一下明年的奋斗方向的时候了.因此,我继续使用OKR来给自己做Review和Planning,也希望自己能够保 ... 
- 使用JDBC连接操作数据库
			JDBC简介 Java数据库连接(Java Database Connectivity,JDBC),是一种用于执行SQL语句的Java API,它由一组用Java编程语言编写的类和接口组成. JDBC ... 
- 基于Socket通讯(C#)和WebSocket协议(net)编写的两种聊天功能(文末附源码下载地址)
			今天我们来盘一盘Socket通讯和WebSocket协议在即时通讯的小应用——聊天. 理论大家估计都知道得差不多了,小编也通过查阅各种资料对理论知识进行了充电,发现好多demo似懂非懂,拷贝回来又运行 ... 
- c#中如何使用到模糊查询
			c#中如何使用到模糊查询,先举个最简单实用的例子,可在vs控制台应用程序中输出: 定义实体类: public class Student { public int ... 
- jQuery(五)、筛选
			1 过滤 1.eq(index | -index) 获取第N个元素,index为元素索引,-index值基于最后一个元素的位置(从 1 开始) 2.first() 获取第一个元素 3.last() 获 ... 
- 面试常问的几个排序和查找算法,PHP实现
			冒泡,快排,二分查找,都是面试常问的几个算法题目,虽然简单,但是一段时间不用的话就很容易忘记,这里我用PHP实现了一下,温故而知新. 排序 冒泡排序 每一次冒出一个最大的值 function bubb ... 
- ES6基础(二)
			一.ES6字符串扩展 字符串模板 在传统的JavaScript语言中,输出模板通常是这样写的. 上面这种写法繁琐不方便,于是ES6中引入了字符串模板解决这个问题. 用反引号(`)标识.他可以当做普通字 ... 
- mysqli_fetch_array() ,mysqli_fetch_assoc()遇到的问题
			该函数每运行一次就会读取一行数据. $book1_imgnum="select * from book_img limit 12"; $book1_totalimg=mysqli_ ... 
- 数据结构:关键路径,利用DFS遍历每一条关键路径JAVA语言实现
			这是我们学校做的数据结构课设,要求分别输出关键路径,我查遍资料java版的只能找到关键路径,但是无法分别输出关键路径 c++有可以分别输出的,所以在明白思想后自己写了一个java版的 函数带有输入函数 ... 
