当前位置:首页> PHP教程> PHP&MYSQL
关键字
文章内容
一个汉字转拼音的函数
 
 
修改时间:[2011/04/27 11:56]    阅读次数:[975]    发表者:[起缘]
 
CODE
  1. <?
  2. // 作者:qiushuiwuhen 来源:CSDN
  3. $d = array(
  4. array("a",-20319),
  5. array("ai",-20317),
  6. array("an",-20304),
  7. array("ang",-20295),
  8. array("ao",-20292),
  9. array("ba",-20283),
  10. array("bai",-20265),
  11. array("ban",-20257),
  12. array("bang",-20242),
  13. array("bao",-20230),
  14. array("bei",-20051),
  15. array("ben",-20036),
  16. array("beng",-20032),
  17. array("bi",-20026),
  18. array("bian",-20002),
  19. array("biao",-19990),
  20. array("bie",-19986),
  21. array("bin",-19982),
  22. array("bing",-19976),
  23. array("bo",-19805),
  24. array("bu",-19784),
  25. array("ca",-19775),
  26. array("cai",-19774),
  27. array("can",-19763),
  28. array("cang",-19756),
  29. array("cao",-19751),
  30. array("ce",-19746),
  31. array("ceng",-19741),
  32. array("cha",-19739),
  33. array("chai",-19728),
  34. array("chan",-19725),
  35. array("chang",-19715),
  36. array("chao",-19540),
  37. array("che",-19531),
  38. array("chen",-19525),
  39. array("cheng",-19515),
  40. array("chi",-19500),
  41. array("chong",-19484),
  42. array("chou",-19479),
  43. array("chu",-19467),
  44. array("chuai",-19289),
  45. array("chuan",-19288),
  46. array("chuang",-19281),
  47. array("chui",-19275),
  48. array("chun",-19270),
  49. array("chuo",-19263),
  50. array("ci",-19261),
  51. array("cong",-19249),
  52. array("cou",-19243),
  53. array("cu",-19242),
  54. array("cuan",-19238),
  55. array("cui",-19235),
  56. array("cun",-19227),
  57. array("cuo",-19224),
  58. array("da",-19218),
  59. array("dai",-19212),
  60. array("dan",-19038),
  61. array("dang",-19023),
  62. array("dao",-19018),
  63. array("de",-19006),
  64. array("deng",-19003),
  65. array("di",-18996),
  66. array("dian",-18977),
  67. array("diao",-18961),
  68. array("die",-18952),
  69. array("ding",-18783),
  70. array("diu",-18774),
  71. array("dong",-18773),
  72. array("dou",-18763),
  73. array("du",-18756),
  74. array("duan",-18741),
  75. array("dui",-18735),
  76. array("dun",-18731),
  77. array("duo",-18722),
  78. array("e",-18710),
  79. array("en",-18697),
  80. array("er",-18696),
  81. array("fa",-18526),
  82. array("fan",-18518),
  83. array("fang",-18501),
  84. array("fei",-18490),
  85. array("fen",-18478),
  86. array("feng",-18463),
  87. array("fo",-18448),
  88. array("fou",-18447),
  89. array("fu",-18446),
  90. array("ga",-18239),
  91. array("gai",-18237),
  92. array("gan",-18231),
  93. array("gang",-18220),
  94. array("gao",-18211),
  95. array("ge",-18201),
  96. array("gei",-18184),
  97. array("gen",-18183),
  98. array("geng",-18181),
  99. array("gong",-18012),
  100. array("gou",-17997),
  101. array("gu",-17988),
  102. array("gua",-17970),
  103. array("guai",-17964),
  104. array("guan",-17961),
  105. array("guang",-17950),
  106. array("gui",-17947),
  107. array("gun",-17931),
  108. array("guo",-17928),
  109. array("ha",-17922),
  110. array("hai",-17759),
  111. array("han",-17752),
  112. array("hang",-17733),
  113. array("hao",-17730),
  114. array("he",-17721),
  115. array("hei",-17703),
  116. array("hen",-17701),
  117. array("heng",-17697),
  118. array("hong",-17692),
  119. array("hou",-17683),
  120. array("hu",-17676),
  121. array("hua",-17496),
  122. array("huai",-17487),
  123. array("huan",-17482),
  124. array("huang",-17468),
  125. array("hui",-17454),
  126. array("hun",-17433),
  127. array("huo",-17427),
  128. array("ji",-17417),
  129. array("jia",-17202),
  130. array("jian",-17185),
  131. array("jiang",-16983),
  132. array("jiao",-16970),
  133. array("jie",-16942),
  134. array("jin",-16915),
  135. array("jing",-16733),
  136. array("jiong",-16708),
  137. array("jiu",-16706),
  138. array("ju",-16689),
  139. array("juan",-16664),
  140. array("jue",-16657),
  141. array("jun",-16647),
  142. array("ka",-16474),
  143. array("kai",-16470),
  144. array("kan",-16465),
  145. array("kang",-16459),
  146. array("kao",-16452),
  147. array("ke",-16448),
  148. array("ken",-16433),
  149. array("keng",-16429),
  150. array("kong",-16427),
  151. array("kou",-16423),
  152. array("ku",-16419),
  153. array("kua",-16412),
  154. array("kuai",-16407),
  155. array("kuan",-16403),
  156. array("kuang",-16401),
  157. array("kui",-16393),
  158. array("kun",-16220),
  159. array("kuo",-16216),
  160. array("la",-16212),
  161. array("lai",-16205),
  162. array("lan",-16202),
  163. array("lang",-16187),
  164. array("lao",-16180),
  165. array("le",-16171),
  166. array("lei",-16169),
  167. array("leng",-16158),
  168. array("li",-16155),
  169. array("lia",-15959),
  170. array("lian",-15958),
  171. array("liang",-15944),
  172. array("liao",-15933),
  173. array("lie",-15920),
  174. array("lin",-15915),
  175. array("ling",-15903),
  176. array("liu",-15889),
  177. array("long",-15878),
  178. array("lou",-15707),
  179. array("lu",-15701),
  180. array("lv",-15681),
  181. array("luan",-15667),
  182. array("lue",-15661),
  183. array("lun",-15659),
  184. array("luo",-15652),
  185. array("ma",-15640),
  186. array("mai",-15631),
  187. array("man",-15625),
  188. array("mang",-15454),
  189. array("mao",-15448),
  190. array("me",-15436),
  191. array("mei",-15435),
  192. array("men",-15419),
  193. array("meng",-15416),
  194. array("mi",-15408),
  195. array("mian",-15394),
  196. array("miao",-15385),
  197. array("mie",-15377),
  198. array("min",-15375),
  199. array("ming",-15369),
  200. array("miu",-15363),
  201. array("mo",-15362),
  202. array("mou",-15183),
  203. array("mu",-15180),
  204. array("na",-15165),
  205. array("nai",-15158),
  206. array("nan",-15153),
  207. array("nang",-15150),
  208. array("nao",-15149),
  209. array("ne",-15144),
  210. array("nei",-15143),
  211. array("nen",-15141),
  212. array("neng",-15140),
  213. array("ni",-15139),
  214. array("nian",-15128),
  215. array("niang",-15121),
  216. array("niao",-15119),
  217. array("nie",-15117),
  218. array("nin",-15110),
  219. array("ning",-15109),
  220. array("niu",-14941),
  221. array("nong",-14937),
  222. array("nu",-14933),
  223. array("nv",-14930),
  224. array("nuan",-14929),
  225. array("nue",-14928),
  226. array("nuo",-14926),
  227. array("o",-14922),
  228. array("ou",-14921),
  229. array("pa",-14914),
  230. array("pai",-14908),
  231. array("pan",-14902),
  232. array("pang",-14894),
  233. array("pao",-14889),
  234. array("pei",-14882),
  235. array("pen",-14873),
  236. array("peng",-14871),
  237. array("pi",-14857),
  238. array("pian",-14678),
  239. array("piao",-14674),
  240. array("pie",-14670),
  241. array("pin",-14668),
  242. array("ping",-14663),
  243. array("po",-14654),
  244. array("pu",-14645),
  245. array("qi",-14630),
  246. array("qia",-14594),
  247. array("qian",-14429),
  248. array("qiang",-14407),
  249. array("qiao",-14399),
  250. array("qie",-14384),
  251. array("qin",-14379),
  252. array("qing",-14368),
  253. array("qiong",-14355),
  254. array("qiu",-14353),
  255. array("qu",-14345),
  256. array("quan",-14170),
  257. array("que",-14159),
  258. array("qun",-14151),
  259. array("ran",-14149),
  260. array("rang",-14145),
  261. array("rao",-14140),
  262. array("re",-14137),
  263. array("ren",-14135),
  264. array("reng",-14125),
  265. array("ri",-14123),
  266. array("rong",-14122),
  267. array("rou",-14112),
  268. array("ru",-14109),
  269. array("ruan",-14099),
  270. array("rui",-14097),
  271. array("run",-14094),
  272. array("ruo",-14092),
  273. array("sa",-14090),
  274. array("sai",-14087),
  275. array("san",-14083),
  276. array("sang",-13917),
  277. array("sao",-13914),
  278. array("se",-13910),
  279. array("sen",-13907),
  280. array("seng",-13906),
  281. array("sha",-13905),
  282. array("shai",-13896),
  283. array("shan",-13894),
  284. array("shang",-13878),
  285. array("shao",-13870),
  286. array("she",-13859),
  287. array("shen",-13847),
  288. array("sheng",-13831),
  289. array("shi",-13658),
  290. array("shou",-13611),
  291. array("shu",-13601),
  292. array("shua",-13406),
  293. array("shuai",-13404),
  294. array("shuan",-13400),
  295. array("shuang",-13398),
  296. array("shui",-13395),
  297. array("shun",-13391),
  298. array("shuo",-13387),
  299. array("si",-13383),
  300. array("song",-13367),
  301. array("sou",-13359),
  302. array("su",-13356),
  303. array("suan",-13343),
  304. array("sui",-13340),
  305. array("sun",-13329),
  306. array("suo",-13326),
  307. array("ta",-13318),
  308. array("tai",-13147),
  309. array("tan",-13138),
  310. array("tang",-13120),
  311. array("tao",-13107),
  312. array("te",-13096),
  313. array("teng",-13095),
  314. array("ti",-13091),
  315. array("tian",-13076),
  316. array("tiao",-13068),
  317. array("tie",-13063),
  318. array("ting",-13060),
  319. array("tong",-12888),
  320. array("tou",-12875),
  321. array("tu",-12871),
  322. array("tuan",-12860),
  323. array("tui",-12858),
  324. array("tun",-12852),
  325. array("tuo",-12849),
  326. array("wa",-12838),
  327. array("wai",-12831),
  328. array("wan",-12829),
  329. array("wang",-12812),
  330. array("wei",-12802),
  331. array("wen",-12607),
  332. array("weng",-12597),
  333. array("wo",-12594),
  334. array("wu",-12585),
  335. array("xi",-12556),
  336. array("xia",-12359),
  337. array("xian",-12346),
  338. array("xiang",-12320),
  339. array("xiao",-12300),
  340. array("xie",-12120),
  341. array("xin",-12099),
  342. array("xing",-12089),
  343. array("xiong",-12074),
  344. array("xiu",-12067),
  345. array("xu",-12058),
  346. array("xuan",-12039),
  347. array("xue",-11867),
  348. array("xun",-11861),
  349. array("ya",-11847),
  350. array("yan",-11831),
  351. array("yang",-11798),
  352. array("yao",-11781),
  353. array("ye",-11604),
  354. array("yi",-11589),
  355. array("yin",-11536),
  356. array("ying",-11358),
  357. array("yo",-11340),
  358. array("yong",-11339),
  359. array("you",-11324),
  360. array("yu",-11303),
  361. array("yuan",-11097),
  362. array("yue",-11077),
  363. array("yun",-11067),
  364. array("za",-11055),
  365. array("zai",-11052),
  366. array("zan",-11045),
  367. array("zang",-11041),
  368. array("zao",-11038),
  369. array("ze",-11024),
  370. array("zei",-11020),
  371. array("zen",-11019),
  372. array("zeng",-11018),
  373. array("zha",-11014),
  374. array("zhai",-10838),
  375. array("zhan",-10832),
  376. array("zhang",-10815),
  377. array("zhao",-10800),
  378. array("zhe",-10790),
  379. array("zhen",-10780),
  380. array("zheng",-10764),
  381. array("zhi",-10587),
  382. array("zhong",-10544),
  383. array("zhou",-10533),
  384. array("zhu",-10519),
  385. array("zhua",-10331),
  386. array("zhuai",-10329),
  387. array("zhuan",-10328),
  388. array("zhuang",-10322),
  389. array("zhui",-10315),
  390. array("zhun",-10309),
  391. array("zhuo",-10307),
  392. array("zi",-10296),
  393. array("zong",-10281),
  394. array("zou",-10274),
  395. array("zu",-10270),
  396. array("zuan",-10262),
  397. array("zui",-10260),
  398. array("zun",-10256),
  399. array("zuo",-10254)
  400. );
  401. function g($num){
  402. global $d;
  403. if($num>0&&$num<160){
  404.  return chr($num);
  405. }
  406. elseif($num<-20319||$num>-10247){
  407.  return "";
  408. }else{
  409.  for($i=count($d)-1;$i>=0;$i--){if($d[$i][1]<=$num)break;}
  410.  return $d[$i][0];
  411. }
  412. }
  413.  
  414. function c($str){
  415. $ret="";
  416. for($i=0;$i<strlen($str);$i++){
  417.  $p=ord(substr($str,$i,1));
  418.  if($p>160){
  419.   $q=ord(substr($str,++$i,1));
  420.   $p=$p*256+$q-65536;
  421.  }
  422.  $ret.=g($p);
  423. }
  424. return $ret;
  425. }
  426.  
  427. echo "拼音为:".c($_POST['hz']);
  428. ?>
  429.  
  430. <br>
  431.  
  432. <form method="post" action="">
  433. 请在此处输入中文:<input name="hz">
  434. <input type="submit" value="Submit">
  435. </form>