php中文转拼音、声母,支持生僻字。overtrue/pinyin:~3.0

正文开始

https://blog.csdn.net/hz7523/article/details/115429402

在线演示

本文范例采用 composer

1.安装插件 (我本地用git安装)

在站点目录下 右键 git bash here

composer require "overtrue/pinyin:~3.0"

封装类



namespace fast; use Overtrue\Pinyin\Pinyin; class Spell { //$str 中文或字母 //$ret_format all 取全部字母;first取声母 public static function change($str, $ret_format = 'all', $space = "", $tone = false){ //不提前载入,字典文件在使用时已文件流形式打开并逐行遍历,运用 yield 特性分配内存,对于内存的消耗非常微小,但转换较慢 $pinyin = new Pinyin('Overtrue\Pinyin\GeneratorFileDictLoader'); //将字典预先载入内存-优点是比较快-适用于内存相对充足的服务器 // $pinyin = new Pinyin('Overtrue\Pinyin\MemoryFileDictLoader'); //以上两种二选一 if($tone == true){ $pinyin = $pinyin->convert($str,PINYIN_UNICODE); }else{ $pinyin = $pinyin->convert($str); } $rs = []; foreach($pinyin as $value){ if($ret_format == "first"){ $chr = mb_substr($value, 0, 1); $rs[] =$chr; } else{ $rs[] = $value; } } return join($space, $rs); } }

引用

 public function change() {
        print_r(Spell::change('厶部 厷厸厹厺厼厽厾叀叁参叄叅叆叇亝 又部 収叏叐叒叓叕叚叜叝叞叠吤吥吧吩吪吭吮吰吱吲吴呐', ' '));
}

正文结束

PHP接口(interface)和抽象类(abstract) php设置内存和页面超时时长