社区应用 最新帖子 精华区 社区服务 会员列表 统计排行 社区论坛任务 迷你宠物
  • 5230阅读
  • 1回复

[PHP]拼音转汉字

级别: 经院高中
发帖
369
铜板
3800
人品值
215
贡献值
0
交易币
0
好评度
305
信誉值
0
金币
0
所在楼道
只是拿来测试下是不是手生了。。 i"eUacBz/-  
以汉字的ASCII码来验证。 [T8BQn!  
一般拿来在发布每日的软件中来用。 [ 0? *J<d  
代码如下: <=m@Sg{o  
  1. <?
  2. $d=array(
  3. array("a",-20319),
  4. array("b",-20283),
  5. array("c",-19775),
  6. array("d",-19218),
  7. array("e",-18710),
  8. array("f",-18526),
  9. array("g",-18239),
  10. array("h",-17922),
  11. array("j",-17417),
  12. array("k",-16474),
  13. array("l",-16212),
  14. array("m",-15640),
  15. array("n",-15165),
  16. array("o",-14922),
  17. array("p",-14914),
  18. array("q",-14630),
  19. array("r",-14149),
  20. array("s",-14090),
  21. array("t",-13318),
  22. array("w",-12838),
  23. array("x",-12556),
  24. array("y",-11847),
  25. array("z",-11055)
  26. );
  27. function g($num){
  28. global $d;
  29. if($num>0&&$num<160){
  30. return chr($num);
  31. }
  32. elseif($num<-20319||$num>-10247){
  33. return "";
  34. }else{
  35. for($i=count($d)-1;$i>=0;$i--){if($d[$i][1]<=$num)break;}
  36. return $d[$i][0];
  37. }
  38. }
  39. function c($str){
  40. $ret="";
  41. for($i=0;$i<strlen($str);$i++){
  42. $p=ord(substr($str,$i,1));
  43. if($p>160){
  44. $q=ord(substr($str,++$i,1));
  45. $p=$p*256+$q-65536;
  46. }
  47. $ret.=g($p);
  48. }
  49. return $ret;
  50. }
  51. echo date("Ymd");
  52. echo c($hz);
  53. ?>
  54. <form method=post>
  55. 请在此处输入中文:<input name=hz> <input type=submit value=拼音转中文by jackal>
  56. </form>
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
级别: 大掌柜
发帖
7343
铜板
6618
人品值
1388
贡献值
28
交易币
100
好评度
7488
信誉值
10
金币
0
所在楼道
学一楼
只看该作者 1 发表于: 2006-06-05
用这个想干嘛...........
描述
快速回复

您目前还是游客,请 登录注册
批量上传需要先选择文件,再选择上传
认证码:
验证问题:
10+5=?,请输入中文答案:十五