. 代码如下:

class Helper_Spell{

public $spellArray = array();

static public function getArray() {

return unserialize(file_get_contents('pytable_without_tune.txt'));

}

/**

* @desc 获取字符串的首字母

* @param $string 要转换的字符串

* @param $isOne 是否取首字母

* @param $upper 是否转换为大写

* @return string

*

* 例如:getChineseFirstChar('我是作者') 首字符全部字母+小写

* return "wo"

*

* 例如:getChineseFirstChar('我是作者',true) 首字符首字母+小写

* return "w"

*

* 例如:getChineseFirstChar('我是作者',true,true) 首字符首字母+大写

* return "W"

*

* 例如:getChineseFirstChar('我是作者',false,true) 首字符全部字母+大写

* return "WO"

*/

static public function getChineseFirstChar($string,$isOne=false,$upper=false) {

$spellArray = self::getArray();

$str_arr = self::utf8_str_split($string,1); //将字符串拆分成数组

if(preg_match('/^[\x{4e00}-\x{9fa5}]+$/u',$str_arr[0])) { //判断是否是汉字

$chinese = $spellArray[$str_arr[0]];

$result = $chinese[0];

}else {

$result = $str_arr[0];

}

$result = $isOne ? substr($result,0,1) : $result;

return $upper?strtoupper($result):$result;

}

/**

* @desc 将字符串转换成拼音字符串

* @param $string 汉字字符串

* @param $upper 是否大写

* @return string

*

* 例如:getChineseChar('我是作者'); 全部字符串+小写

* return "wo shi zuo zhe"

*

* 例如:getChineseChar('我是作者',true); 首字母+小写

* return "w s z z"

*

* 例如:getChineseChar('我是作者',true,true); 首字母+大写

* return "W S Z Z"

*

* 例如:getChineseChar('我是作者',false,true); 首字母+大写

* return "WO SHI ZUO ZHE"

*/

static public function getChineseChar($string,$isOne=false,$upper=false) {

global $spellArray;

$str_arr = self::utf8_str_split($string,1); //将字符串拆分成数组

$result = array();

foreach($str_arr as $char)

{

if(preg_match('/^[\x{4e00}-\x{9fa5}]+$/u',$char))

{

$chinese = $spellArray[$char];

$chinese  = $chinese[0];

}else{

$chinese=$char;

}

$chinese = $isOne ? substr($chinese,0,1) : $chinese;

$result[] = $upper ? strtoupper($chinese) : $chinese;

}

return implode(' ',$result);

}

/**

* @desc 将字符串转换成数组

* @param $str 要转换的数组

* @param $split_len

* @return array

*/

private function utf8_str_split($str,$split_len=1) {

if(!preg_match('/^[0-9]+$/', $split_len) || $split_len < 1) {

return FALSE;

}

$len = mb_strlen($str, 'UTF-8');

if ($len <= $split_len) {

return array($str);

}

preg_match_all('/.{'.$split_len.'}|[^\x00]{1,'.$split_len.'}$/us', $str, $ar);

return $ar[0];

}

}

php 变量 可用拼音表示,php汉字转拼音的示例相关推荐

  1. mysql 汉字拼音_Mysql中文汉字转拼音的实现(每个汉字转换全拼)

    一.创建拼音对照表 -- 创建汉字拼音对照临时表 CREATE TABLE IF NOT EXISTS `t_base_pinyin` ( `pin_yin_` varchar(255) CHARAC ...

  2. mysql可以存储拼音吗_MySQL汉字变换拼音(存储函数)

    MySQL汉字转换拼音(存储函数) BEGIN DECLARE tmp_str VARCHAR(255) CHARSET gbk DEFAULT '' ; #截取字符串,每次做截取后的字符串存放在该变 ...

  3. 昵称到拼音php,php 汉字转换拼音程序_PHP教程

    php 汉字转换拼音程序 $p=ord(substr($str,$i,1)); if($p>160){ $q=ord(substr($str,++$i,1)); $p=$p*256+$q-655 ...

  4. java 实现汉字转换拼音_JAVA实现汉字转拼音功能代码实例

    JAVA中汉字转拼音的方法并不复杂,可以使用pinyin4j包来实现. 一.下载pinyin4j的架包,并导入项目中,如下: 如果是maven项目,maven依赖如下: com.belerweb pi ...

  5. php 汉字转拼音类,PHP汉字转换拼音的类_php

    网络上类似的代码大多只能在gb2312编码下使用,下面这个类同时能在utf-8编码下将汉字转换为拼音,具体的代码和用法如下: function Pinyin($_String, $_Code='gb2 ...

  6. python汉字转拼音代码_Python 汉字转换拼音代码

    # -*-coding:utf-8-*- # 返回汉字的拼音 def Return_pinyin(word): global reslist for line in reslist: if (word ...

  7. html5给文字添加拼音,h5 给汉字加拼音 加进度条

    小编项目上最近设计有个新需求,要给汉纸加拼音,类似于加英文底部小标题类似,毕竟现在咱们中文之博大,大家都在学习和使用中文.下面就让我们学习一下吧,h5现在已经很强大足以应付很多需求. 一.给汉字加拼音 ...

  8. java汉字转换拼音,获取汉字串拼音首字母

    首先要下载  pinyin4j  的jar包 import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j ...

  9. java 汉字转拼音工具_java汉字转拼音工具类

    public classPinYinUtils {public staticHanyuPinyinOutputFormat PINYIN_FORMAT;static{ PINYIN_FORMAT= n ...

  10. 支持生僻字且自动识别utf-8编码的php汉字转拼音类,PHP汉字转拼音类(支持生僻字且自动识别utf-8编码)...

    这篇文章主要介绍了PHP汉字转拼音类(支持生僻字且自动识别utf-8编码),非常实用!需要的朋友可以参考下. 拼音类文件py_class.php源码如下: class py_class{ functi ...

最新文章

  1. 史上最全软件测试自学完整路线,走过路过千万不要错过
  2. app测试流程和重点_APP开发测试流程是怎么样的?
  3. SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法
  4. 转: vim 的编辑格式设置
  5. Linux命令笔记(一)
  6. 后疫情时代,华为云会议如何定义未来会议?
  7. red hat 5.5 vncserver搭建
  8. SpringBoot 入门篇(二) SpringBoot常用注解以及自动配置
  9. Java之父:Solaris前景堪忧
  10. matlab 画点标号,学习笔记(四)——MATLAB画图
  11. ASP.NET超市便利店在线购物商城源码,针对周边配送系统
  12. 使用jQuery播放/暂停 HTML5视频
  13. jovi语音助手安装包_jovi语音助手下载
  14. SOFA Weekly | SOFA 社区元旦快乐,MOSN 荣获 2020 中国优秀开源项目
  15. ttk python_python GUI ttk库 -- Apple的学习笔记
  16. 【VBA】日期时间函数总结(全)
  17. 开工大吉,开启新征程!
  18. QCC514x-QCC304x(headset)系列(入门篇)之1.1-QCC3044之基本介绍
  19. 洞察——风格注意力网络(SANet)在任意风格迁移中的应用
  20. 文字溢出省略和用户体验优化

热门文章

  1. java环境变量自动设置_自动设置Java环境变量
  2. LeetCode-287 寻找重复数 二分法
  3. 服务器修改地址,服务器修改管理地址
  4. duino例程 stm32_stm32duino
  5. 怎样能确保计算机安全,如何确保电脑安全
  6. 计算机语言低下限高上限,学习语言有没有上限
  7. python扫雷 广度优先_广度优先搜索(BFS)解题总结
  8. java 相对路径获取_在java项目中通过相对路径获取资源的方式
  9. mysql插入语句例句,一句简单的MySql插入语句怎么写 ?
  10. linux命令之-管理文件和目录的命令