欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP基于自定義函數(shù)實(shí)現(xiàn)的漢字轉(zhuǎn)拼音功能實(shí)例

 更新時(shí)間:2017年09月30日 16:33:18   作者:崇拜飛哥  
這篇文章主要介紹了PHP基于自定義函數(shù)實(shí)現(xiàn)的漢字轉(zhuǎn)拼音功能,涉及php表單及字符串編碼轉(zhuǎn)換、遍歷等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP基于自定義函數(shù)實(shí)現(xiàn)的漢字轉(zhuǎn)拼音功能。分享給大家供大家參考,具體如下:

整個(gè)過(guò)程用到了pinyin.table文件。

pinyin.php

<?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'); // 將文件作為一個(gè)數(shù)組返回。數(shù)組中的每個(gè)單元都是文件中相應(yīng)的一行,包括換行符在內(nèi)。
 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."http://IGNORE", $val);
  }
  return $tmp;
  } else {
  return iconv($from, $to."http://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);
 }
 }
?>
<form action="./" method="get">
 <input type="text" name="cat_name" value="<?php echo $cat_name?>" />
 <input type="submit" value="提交" /><br />
</form>
<?php
 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文件復(fù)制下面代碼到文件,重命名文件名pinyin.table

PS:這里再為大家提供幾款本站拼音與字母相關(guān)工具供大家參考:

在線中英文根據(jù)首字母排序工具:
http://tools.jb51.net/aideddesign/zh_paixu

在線漢字轉(zhuǎn)換成拼音工具:
http://tools.jb51.net/transcoding/pinyin

在線中文漢字轉(zhuǎn)拼音工具:
http://tools.jb51.net/transcoding/hanzi2pinyin

在線中文漢字拼音對(duì)照轉(zhuǎn)換工具:
http://tools.jb51.net/transcoding/zh_pinyin

在線字母大小寫(xiě)轉(zhuǎn)換工具:
http://tools.jb51.net/transcoding/upper

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php常用函數(shù)與技巧總結(jié)》及《PHP錯(cuò)誤與異常處理方法總結(jié)

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • php對(duì)xml文件的增刪改查操作實(shí)現(xiàn)方法分析

    php對(duì)xml文件的增刪改查操作實(shí)現(xiàn)方法分析

    這篇文章主要介紹了php對(duì)xml文件的增刪改查操作實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式分析了php對(duì)xml文件的載入及xml節(jié)點(diǎn)的讀取、修改、查詢等相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • Php圖像處理類代碼分享

    Php圖像處理類代碼分享

    一個(gè)php圖片處理類,和網(wǎng)上的存在的不同,該類只有一個(gè)公共方法,通過(guò)在實(shí)例化對(duì)象的時(shí)候給$type參數(shù)傳不同的值,從而實(shí)現(xiàn)不同功能
    2012-01-01
  • 為你總結(jié)一些php系統(tǒng)類函數(shù)

    為你總結(jié)一些php系統(tǒng)類函數(shù)

    這篇文章是小編為大家總結(jié)的一些php系統(tǒng)類函數(shù),很實(shí)用,需要的朋友千萬(wàn)不要錯(cuò)過(guò)。
    2015-10-10
  • PHP 多進(jìn)程 解決難題

    PHP 多進(jìn)程 解決難題

    PHP在很多時(shí)候不適合做常駐的SHELl進(jìn)程, 他沒(méi)有專門的gc例程, 也沒(méi)有有效的內(nèi)存管理途徑. 所以如果用PHP做常駐SHELL, 你會(huì)經(jīng)常被內(nèi)存耗盡導(dǎo)致abort而unhappy.
    2009-06-06
  • PHP 彩色文字實(shí)現(xiàn)代碼

    PHP 彩色文字實(shí)現(xiàn)代碼

    最近流行彩字,下面是簡(jiǎn)單的實(shí)現(xiàn)代碼。喜歡php的朋友可以看看。
    2009-06-06
  • php使用redis的有序集合zset實(shí)現(xiàn)延遲隊(duì)列應(yīng)用示例

    php使用redis的有序集合zset實(shí)現(xiàn)延遲隊(duì)列應(yīng)用示例

    這篇文章主要介紹了php使用redis的有序集合zset實(shí)現(xiàn)延遲隊(duì)列,結(jié)合具體實(shí)例形式分析了PHP基于redis的有序集合zset實(shí)現(xiàn)延遲隊(duì)列的具體原理、應(yīng)用場(chǎng)景及相關(guān)操作技巧,需要的朋友可以參考下
    2020-02-02
  • php中g(shù)et_cfg_var()和ini_get()的用法及區(qū)別

    php中g(shù)et_cfg_var()和ini_get()的用法及區(qū)別

    這篇文章主要介紹了php中g(shù)et_cfg_var()和ini_get()的用法及區(qū)別,實(shí)例分析了get_cfg_var()和ini_get()函數(shù)的區(qū)別與使用技巧,需要的朋友可以參考下
    2015-03-03
  • div li的多行多列 無(wú)刷新分頁(yè)示例代碼

    div li的多行多列 無(wú)刷新分頁(yè)示例代碼

    翻頁(yè)文件一次加載了全部的內(nèi)容,因而不是很適合大型的網(wǎng)站,而適用于數(shù)據(jù)比較少的情況,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下
    2013-10-10
  • php瀏覽歷史記錄的方法

    php瀏覽歷史記錄的方法

    這篇文章主要介紹了php瀏覽歷史記錄的方法,涉及php操作cookie的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-03-03
  • php項(xiàng)目打包方法

    php項(xiàng)目打包方法

    大家經(jīng)常會(huì)接到一些編程的活,例如設(shè)計(jì)企業(yè)網(wǎng)站,做做財(cái)務(wù),統(tǒng)計(jì)系統(tǒng)什么的。或許是因?yàn)榕笥训男枨?,或許圖個(gè)零花。不管什么原因吧。等程序做好了,給對(duì)方展示、安裝,就成了問(wèn)題。
    2008-09-09

最新評(píng)論