data/attachment/common/编程

编程

    今日:0| 主题:21
收藏本版
发表新帖

[php语言] 程序人生 拼音码表的生成

[复制链接] [提交至百度]
夜风 发表于 2019-11-21 03:30:09
895 0

马上注册,下载资源,享用更多功能,让你轻松玩转网站

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
  1. <?php
  2. /**
  3.   拼音码表的生成:
  4.       启动输入法生成器在逆转换选项卡中装入window的拼音输入法并将其保存为文
  5.   本文件(winpy.txt)备用。

  6.   下面的代码将拼音码表文件(文本)装入到数组$pymb中,结构为:(拼音,(汉字...))
  7.   码表转换时间较长,应转换后另行保存
  8. */
  9. $filename = "pymb.txt";
  10. if(file_exists($filename)) {
  11.   $fp = fopen($filename,"r");
  12.   $pymb = unserialize(fread($fp,filesize($filename)));
  13.   fclose($fp);
  14. }else {
  15.   $filename = "winpy.txt";
  16.   $fp = fopen($filename,"r");
  17.   $old = "";
  18.   $ar = array();
  19.   $pymb = array();
  20.   while(! feof($fp)) {
  21.     $buffer = fgets($fp,128);
  22.     sscanf($buffer,"%2s%s",$ch,$py);
  23.     if($ch >= "啊" && ord($py) < 128) {
  24.       $pymb[$ch] = $py;
  25.     }
  26.   }
  27.   fclose($fp);
  28.   $fp = fopen("pymb.txt","w");
  29.   fwrite($fp,serialize($pymb)."\n");
  30.   fclose($fp);
  31. }
  32. ?>
  33.   应用例,给文字加上拼音<br>
  34. <?
  35. /**
  36.   应用例,给文字加上拼音。为简化起见,假定全为中文
  37. */

  38. function get_py($text) {
  39.   global $pymb;
  40.   $i = 0;
  41.   $n = strlen($text);
  42.   $ar = array();
  43.   while($i<$n) {
  44.     $ch = $text[$i++];
  45.     $py = " ";
  46.     if(ord($ch) > 128) {
  47.       $ch .= $text[$i++];
  48.       $py = $pymb[$ch];
  49.     }
  50.     $ar[] = array($ch,$py);
  51.   }
  52.   return $ar;
  53. }

  54. $text = "  拼音码表的生成:
  55.       启动输入法生成器在逆转换选项卡中装入window的拼音输入法并将其保存为文
  56.   本文件(winpy.txt)备用。

  57.   下面的代码将拼音码表文件(文本)装入到数组$pymb中,结构为:(拼音,(汉字...))
  58.   码表转换时间较长,应转换后另行保存
  59. ";


  60. $ar = get_py($text);
  61. //print_r($ar);

  62. echo "<table><tr align=center>";
  63. for($i=0;$i<count($ar);$i++) {
  64.   echo "<td>".$ar[$i][1]."</td>";
  65. }
  66. echo "</tr><tr align=center>";
  67. for($i=0;$i<count($ar);$i++) {
  68.   echo "<td>".$ar[$i][0]."</td>";
  69. }
  70. echo "</tr></table>";
  71. ?>
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

推荐阅读

平台简介

六六下载网(666现在.cn),中国最大的电商设计师交流平台。最活跃的电商设计师学习交流分享社区。集原创作品+灵感图库+经验教程+设计专访+设计培训+社群活动为一体,全方位服务电商设计师。成立3年来,聚集20万电商设计师,定期线下设计沙龙,覆盖北京、上海、广州、杭州等城市计

QQ|Archiver|手机版|小黑屋|666下载网 ( 粤ICP备16097146号-5 )|网站地图  

Powered by 金易德.cn! X3.4  © 2014-2018 深圳市龙岗区金易徳贸易商行   增值电信业务经营许可证:粤B2-20140196

返回顶部 返回列表