资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

php如何实现汉字转拼音

这篇文章将为大家详细讲解有关php如何实现汉字转拼音,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联专注于网站建设|网页维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖成都塑料袋等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身建设品质网站。

php实现汉字转拼音

php汉字转拼音我使用到了overtrue/pinyin拓展

一:安装overtrue/pinyin拓展

composer require overtrue/pinyin

overtrue/pinyin拓展GitHub地址:https://github.com/overtrue/pinyin

二:overtrue/pinyin拓展简单使用

overtrue/pinyin拼音转成拼音常见的转化方式:

PINYIN_TONE   #带音调的转化方式
PINYIN_KEEP_NUMBER  #保留数字的转化方式
PINYIN_KEEP_ENGLISH#保留英文的转化方式
PINYIN_KEEP_PUNCTUATION#保留标点的转化方式
PINYIN_UMLAUT_V#使用 v 代替 yu的转化方式

1:汉字转成拼音数组

(1):汉字转成无无音调的拼音

$pinyin = new Pinyin();
$pinyin->convert('测试汉字转拼音');

输出数据为:

['ce', 'shi', 'han', 'zi', 'zhuan', 'pin', 'yin']

(2):汉字转成带音调的拼音

$pinyin = new Pinyin();
$pinyin->convert('测试汉字转拼音', PINYIN_TONE);

输出数据为:

['cè', 'shì', 'hàn', 'zì', 'zhuǎn', 'pīn', 'yīn']

(3):汉字转拼音中lv拼音为lyu,使用此方法使用 v 代替 yu

$pinyin = new Pinyin();
$pinyin->convert('吕氏春秋');
$pinyin->convert('吕氏春秋', PINYIN_UMLAUT_V);

第一个方法输出为:

['lyu', 'shi', 'chun', 'qiu']

第二个方法输出为:

['lv', 'shi', 'chun', 'qiu']

2:汉字转成拼音字符串

$pinyin = new Pinyin();
$pinyin->permalink('测试汉字转拼音');
$pinyin->permalink('测试汉字转拼音', '.');

第一个方法输出为:

ce-shi-han-zi-zhuan-pin-yin

第二个方法输出为:

ce.shi.han.zi.zhuan.pin.yi

3:汉字转成首字母字符串

$pinyin = new Pinyin();
$pinyin->abbr('测试汉字转拼音');
$pinyin->abbr('测试汉字转拼音', '-');

第一个方法输出为:

cshzzpy

第二个方法输出为:

c-s-h-z-z-p-y

4:整段汉字(带标点符号)转成拼音

$pinyin = new Pinyin();
$pinyin->sentence('测试汉字转拼音,这是测试!!!');
$pinyin->sentence('测试汉字转拼音,这是测试!!!', '-');

第一个方法输出为:

ce shi han zi zhuan pin yin, zhe shi ce shi!!!

第二个方法输出为:

ce-shi-han-zi-zhuan-pin-yin,-zhe-shi-ce-shi!!!

5:姓名汉字转拼音,有些汉字常见读音和作为姓名读音不同,例如仇,常见读音为chou,但是作为姓氏时都qiu

$pinyin = new Pinyin();
$pinyin->name('仇某某');

输出结果为:

['qiu', 'mou', 'mou']

关于php如何实现汉字转拼音就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


名称栏目:php如何实现汉字转拼音
标题网址:http://cdkjz.cn/article/gghpde.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220