中文转拼音

在一些生产环境中要使用到中文拼音排序,比如通讯录排序等…
业务逻辑:
1. 获取 中文首字母
2. 字母排序

一、 普通的中文转拼音代码如下

			if (preg_match("/[\x7f-\xff]/", "中文")) {  //判断字符串中是否有中文
				//此处校验中文是因为getFirstCharter() 识别非中文报错
            	$letter_name =  getFirstCharter("中文");
        	}
缺点: 仅能识别一些常用的中文

在这里插入图片描述
二、 使用到了overtrue/pinyin拓展

  1. 转化方式

     	```
     			PINYIN_TONE   #带音调的转化方式
     			PINYIN_KEEP_NUMBER  #保留数字的转化方式
     			PINYIN_KEEP_ENGLISH#保留英文的转化方式
     			PINYIN_KEEP_PUNCTUATION#保留标点的转化方式
     			PINYIN_UMLAUT_V#使用 v 代替 yu的转化方式
     		```
    
  2. 汉字转成拼音数组
    优点:可识别度更广更全

     ```
     $pinyin = new Pinyin();
     $pinyin->convert('汉字转拼音', PINYIN_TONE);  //[ 'hàn', 'zì', 'zhuǎn', 'pīn', 'yīn']
     $pinyin->permalink('汉字转拼音'); //ce-shi-han-zi-zhuan-pin-yin
     $pinyin->abbr('汉字转拼音', '-'); //h-z-z-p-y
     $pinyin->sentence('汉字转拼音,这是测试!!!'); //han zi zhuan pin yin, zhe shi ce shi!!!=
     ```
    
  3. strtoupper() 字母转大写

  4. array_multisort($list, SORT_ASC, $list); //重新排序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值