php 自定义函数转字母大小,PHP自定义函数实现文字到拼音转换功能
整个过程用到了pinyin.table文件。
pinyin.php
header("Content-Type:text/html;charset=utf-8");
$letters = "";
if ($_GET) {
$cat_name = $_GET["cat_name"];
$catname = convert($cat_name);
$letters = get_letter($catname, false);
}
function get_letter($catname, $letter = true) {
return $letter ? strtolower(substr(gb2py($catname), 0, 1)) : str_replace(' ', '', gb2py($catname));
}
function gb2py($text, $exp = '') {
if(!$text) return '';
$data = array();
$tmp = @file('pinyin.table'); // 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。
if(!$tmp) return '';
$tmps = count($tmp);
for($i = 0; $i < $tmps; $i++) {
$tmp1 = explode("", $tmp[$i]);
$data[$i]=array($tmp1[0], $tmp1[1]);
}
$r = array();
$k = 0;
$textlen = strlen($text);
for($i = 0; $i < $textlen; $i++) {
$p = ord(substr($text, $i, 1));
if($p > 160) {
$q = ord(substr($text, ++$i, 1));
$p = $p*256+$q-65536;
}
if($p > 0 && $p < 160) {
$r[$k] = chr($p);
} elseif($p< -20319 || $p > -10247) {
$r[$k] = '';
} else {
for($j = $tmps-1; $j >= 0; $j--) {
if($data[$j][1]<=$p) break;
}
$r[$k] = $data[$j][0];
}
$k++;
}
return implode($exp, $r);
}
function convert($str, $from = 'utf-8', $to = 'gb2312') {
if(!$str) return '';
$from = strtolower($from);
$to = strtolower($to);
if($from == $to) return $str;
$from = str_replace('gbk', 'gb2312', $from);
$to = str_replace('gbk', 'gb2312', $to);
$from = str_replace('utf8', 'utf-8', $from);
$to = str_replace('utf8', 'utf-8', $to);
if($from == $to) return $str;
$tmp = array();
if(function_exists('iconv')) {
if(is_array($str)) {
foreach($str as $key => $val) {
$tmp[$key] = iconv($from, $to."//IGNORE", $val);
}
return $tmp;
} else {
return iconv($from, $to."//IGNORE", $str);
}
} else if(function_exists('mb_convert_encoding')) {
if(is_array($str)) {
foreach($str as $key => $val) {
$tmp[$key] = mb_convert_encoding($val, $to, $from);
}
return $tmp;
} else {
return mb_convert_encoding($str, $to, $from);
}
} else {
require_once 'convert.func.php';
return dconvert($str, $to, $from);
}
}
?>
echo $letters;
?>
pinyin.table
a-20319
ai-20317
an-20304
ang-20295
ao-20292
ba-20283
bai-20265
ban-20257
bang-20242
bao-20230
bei-20051
ben-20036
beng-20032
bi-20026
bian-20002
biao-19990
bie-19986
bin-19982
bing-19976
bo-19805
bu-19784
ca-19775
cai-19774
can-19763
cang-19756
cao-19751
ce-19746
ceng-19741
cha-19739
chai-19728
chan-19725
chang-19715
chao-19540
che-19531
chen-19525
cheng-19515
chi-19500
chong-19484
chou-19479
chu-19467
chuai-19289
chuan-19288
chuang-19281
chui-19275
chun-19270
chuo-19263
ci-19261
cong-19249
cou-19243
cu-19242
cuan-19238
cui-19235
cun-19227
cuo-19224
da-19218
dai-19212
dan-19038
dang-19023
dao-19018
de-19006
deng-19003
di-18996
dian-18977
diao-18961
die-18952
ding-18783
diu-18774
dong-18773
dou-18763
du-18756
duan-18741
dui-18735
dun-18731
duo-18722
e-18710
en-18697
er-18696
fa-18526
fan-18518
fang-18501
fei-18490
fen-18478
feng-18463
fo-18448
fou-18447
fu-18446
ga-18239
gai-18237
gan-18231
gang-18220
gao-18211
ge-18201
gei-18184
gen-18183
geng-18181
gong-18012
gou-17997
gu-17988
gua-17970
guai-17964
guan-17961
guang-17950
gui-17947
gun-17931
guo-17928
ha-17922
hai-17759
han-17752
hang-17733
hao-17730
he-17721
hei-17703
hen-17701
heng-17697
hong-17692
hou-17683
hu-17676
hua-17496
huai-17487
huan-17482
huang-17468
hui-17454
hun-17433
huo-17427
ji-17417
jia-17202
jian-17185
jiang-16983
jiao-16970
jie-16942
jin-16915
jing-16733
jiong-16708
jiu-16706
ju-16689
juan-16664
jue-16657
jun-16647
ka-16474
kai-16470
kan-16465
kang-16459
kao-16452
ke-16448
ken-16433
keng-16429
kong-16427
kou-16423
ku-16419
kua-16412
kuai-16407
kuan-16403
kuang-16401
kui-16393
kun-16220
kuo-16216
la-16212
lai-16205
lan-16202
lang-16187
lao-16180
le-16171
lei-16169
leng-16158
li-16155
lia-15959
lian-15958
liang-15944
liao-15933
lie-15920
lin-15915
ling-15903
liu-15889
long-15878
lou-15707
lu-15701
lv-15681
luan-15667
lue-15661
lun-15659
luo-15652
ma-15640
mai-15631
man-15625
mang-15454
mao-15448
me-15436
mei-15435
men-15419
meng-15416
mi-15408
mian-15394
miao-15385
mie-15377
min-15375
ming-15369
miu-15363
mo-15362
mou-15183
mu-15180
na-15165
nai-15158
nan-15153
nang-15150
nao-15149
ne-15144
nei-15143
nen-15141
neng-15140
ni-15139
nian-15128
niang-15121
niao-15119
nie-15117
nin-15110
ning-15109
niu-14941
nong-14937
nu-14933
nv-14930
nuan-14929
nue-14928
nuo-14926
o-14922
ou-14921
pa-14914
pai-14908
pan-14902
pang-14894
pao-14889
pei-14882
pen-14873
peng-14871
pi-14857
pian-14678
piao-14674
pie-14670
pin-14668
ping-14663
po-14654
pu-14645
qi-14630
qia-14594
qian-14429
qiang-14407
qiao-14399
qie-14384
qin-14379
qing-14368
qiong-14355
qiu-14353
qu-14345
quan-14170
que-14159
qun-14151
ran-14149
rang-14145
rao-14140
re-14137
ren-14135
reng-14125
ri-14123
rong-14122
rou-14112
ru-14109
ruan-14099
rui-14097
run-14094
ruo-14092
sa-14090
sai-14087
san-14083
sang-13917
sao-13914
se-13910
sen-13907
seng-13906
sha-13905
shai-13896
shan-13894
shang-13878
shao-13870
she-13859
shen-13847
sheng-13831
shi-13658
shou-13611
shu-13601
shua-13406
shuai-13404
shuan-13400
shuang-13398
shui-13395
shun-13391
shuo-13387
si-13383
song-13367
sou-13359
su-13356
suan-13343
sui-13340
sun-13329
suo-13326
ta-13318
tai-13147
tan-13138
tang-13120
tao-13107
te-13096
teng-13095
ti-13091
tian-13076
tiao-13068
tie-13063
ting-13060
tong-12888
tou-12875
tu-12871
tuan-12860
tui-12858
tun-12852
tuo-12849
wa-12838
wai-12831
wan-12829
wang-12812
wei-12802
wen-12607
weng-12597
wo-12594
wu-12585
xi-12556
xia-12359
xian-12346
xiang-12320
xiao-12300
xie-12120
xin-12099
xing-12089
xiong-12074
xiu-12067
xu-12058
xuan-12039
xue-11867
xun-11861
ya-11847
yan-11831
yang-11798
yao-11781
ye-11604
yi-11589
yin-11536
ying-11358
yo-11340
yong-11339
you-11324
yu-11303
yuan-11097
yue-11077
yun-11067
za-11055
zai-11052
zan-11045
zang-11041
zao-11038
ze-11024
zei-11020
zen-11019
zeng-11018
zha-11014
zhai-10838
zhan-10832
zhang-10815
zhao-10800
zhe-10790
zhen-10780
zheng-10764
zhi-10587
zhong-10544
zhou-10533
zhu-10519
zhua-10331
zhuai-10329
zhuan-10328
zhuang-10322
zhui-10315
zhun-10309
zhuo-10307
zi-10296
zong-10281
zou-10274
zu-10270
zuan-10262
zui-10260
zun-10256
zuo-10254
备注:新建text文件复制下面代码到文件,重命名文件名pinyin.table
php 自定义函数转字母大小,PHP自定义函数实现文字到拼音转换功能相关推荐
- R语言ggplot2可视化散点图、可视化两个数值变量之间的关系、使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线、自定义数据点的大小、色彩、添加主标题、副标题、题注信息
R语言ggplot2可视化散点图.可视化两个数值变量之间的关系(Scatter plot).使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线.自定义数据点的大小.色彩.添加 ...
- R语言使用GGally包的ggpairs函数可视化变量相关性分析图:包含散点图、密度图、柱状图、箱图等、并自定义数据点的大小
R语言使用GGally包的ggpairs函数可视化变量相关性分析图:包含散点图.密度图.柱状图.箱图等.并自定义数据点的大小 目录
- Matplotlib使用scatter函数在Python中绘制气泡图(bubble plot)、通过size参数指定数据点的大小、自定义不同分组的气泡的色彩
Matplotlib使用scatter函数在Python中绘制气泡图(bubble plot).通过size参数指定数据点的大小.自定义不同分组的气泡的色彩 目录
- R语言使用ggpubr包的ggdotplot函数可视化水平棒棒糖图(自定义分组数据点色彩、自定义调色板、在两端添加点图的线段segments、整体排序从大到小、自定义数据点的大小、添加数值标签)
R语言使用ggpubr包的ggdotplot函数可视化水平棒棒糖图(自定义分组数据点色彩.自定义调色板.在两端添加点图的线段segments.整体排序从大到小.自定义数据点的大小.添加数值标签) 目录
- seaborn箱图(box plot)可视化、并且使用matplotlib的meanprops函数在箱图中自定义均值标签、标签形状、标签大小、标签填充色彩、标签边缘颜色
seaborn箱图(box plot)可视化.并且使用matplotlib的meanprops函数在箱图中自定义均值标签.标签形状.标签大小.标签填充色彩.标签边缘颜色 目录
- R语言ggplot2可视化散点图(scatter plot)、使用scale_size函数自定义指定散点大小的度量、scale_fill_distiller函数自定义指定散点的颜色映射(填充色的度量)
R语言ggplot2可视化散点图(scatter plot).使用scale_size函数自定义指定散点大小的度量.scale_fill_distiller函数自定义指定散点的颜色映射(填充色的度量) ...
- php 统计磁盘大小,PHP_PHP统计目录大小的自定义函数分享,计算文件、磁盘分区和目录的 - phpStudy...
PHP统计目录大小的自定义函数分享 计算文件.磁盘分区和目录的大小在各种应用程序中都是常见的任务.计算文件的大小可以通过前面介绍过的filesize()函数完成,统计磁盘大小也可以使用disk_fre ...
- MYSQL8 创建自定义函数 首字母拼音
话不多说,直接上代码: # 解决报错:This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA set global log ...
- Android自定义一个车牌字母选择键盘
在一般和车相关的应用,难免会和车牌打交道,组成车牌的要素,国内无非就是省份简称+地区代码+英文或者数字组成,比如京A12345,在需要输入车牌的功能上,就需要有省份简称键盘和英文数字键盘了,在上篇的文 ...
- 数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法
数据库中自定义排序 场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对sequence字段进行二次排序( ...
最新文章
- vagrant 介绍,安装与使用
- 重新定位svn地址的方法(windows和linux),svn switch(sw)的帮助信息
- 解决VC++ Error spawning cl.exe 问题·
- 您能否提供一些示例,说明为什么用正则表达式很难解析XML和HTML? [关闭]
- TypeForwardedTo Attribute ---- 类型传递
- vr二维码_VR小花看看app
- Effective Java之在细节消息中包含能捕获失败的消息(六十三)
- Ruby 的环境搭建及安装
- Myeclipse5.5获取注册码
- 从C源代码到可执行文件的四个过程:预处理、编译、汇编、链接
- 常用的stm32库函数
- sklearn 常用模块及类与方法
- Yum 安装 mysql5.7
- 【转载】H264编码原理以及I帧、B帧、P帧
- 通信系统设计中的凸优化问题
- 利用gitlab pages和hexo搭建一个个人博客
- 36小时阿里大佬用了讲完的Java,整整372集,分分钟白嫖!!
- 在img的图片上添加文字
- 手眼标定,9点标定过程及其运算
- 前端3D开发,你需要了解的知识汇总