拼音码表的生成


Posted in PHP onOctober 09, 2006

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

  下面的代码将拼音码表文件(文本)装入到数组$pymb中,结构为:(拼音,(汉字...))
  码表转换时间较长,应转换后另行保存
*/
$filename = "pymb.txt";
if(file_exists($filename)) {
  $fp = fopen($filename,"r");
  $pymb = unserialize(fread($fp,filesize($filename)));
  fclose($fp);
}else {
  $filename = "winpy.txt";
  $fp = fopen($filename,"r");
  $old = "";
  $ar = array();
  $pymb = array();
  while(! feof($fp)) {
    $buffer = fgets($fp,128);
    sscanf($buffer,"%2s%s",$ch,$py);
    if($ch >= "啊" && ord($py) < 128) {
      $pymb[$ch] = $py;
    }
  }
  fclose($fp);
  $fp = fopen("pymb.txt","w");
  fwrite($fp,serialize($pymb)."\n");
  fclose($fp);
}
?>
  应用例,给文字加上拼音<br>
<?
/**
  应用例,给文字加上拼音。为简化起见,假定全为中文
*/

function get_py($text) {
  global $pymb;
  $i = 0;
  $n = strlen($text);
  $ar = array();
  while($i<$n) {
    $ch = $text[$i++];
    $py = " ";
    if(ord($ch) > 128) {
      $ch .= $text[$i++];
      $py = $pymb[$ch];
    }
    $ar[] = array($ch,$py);
  }
  return $ar;
}

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

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

$ar = get_py($text);
//print_r($ar);

echo "<table><tr align=center>";
for($i=0;$i<count($ar);$i++) {
  echo "<td>".$ar[$i][1]."</td>";
}
echo "</tr><tr align=center>";
for($i=0;$i<count($ar);$i++) {
  echo "<td>".$ar[$i][0]."</td>";
}
echo "</tr></table>";
?>

PHP 相关文章推荐
聊天室php&amp;mysql(六)
Oct 09 PHP
粗略计算在线时间,bug:ip相同
Dec 09 PHP
PHP编程中字符串处理的5个技巧小结
Nov 13 PHP
php学习之 认清变量的作用范围
Jan 26 PHP
PHP 线程安全与非线程安全版本的区别深入解析
Aug 06 PHP
PHP安全的URL字符串base64编码和解码
Jun 19 PHP
php中call_user_func函数使用注意事项
Nov 21 PHP
PHP获取文件夹内文件数的方法
Mar 12 PHP
php封装的mysqli类完整实例
Oct 18 PHP
php表单文件iframe异步上传实例讲解
Jul 26 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
Sep 30 PHP
PHP程序员必须知道的两种日志实例分析
May 14 PHP
用PHP和MySQL保存和输出图片
Oct 09 #PHP
PHP生成带有雪花背景的验证码
Oct 09 #PHP
一个可查询所有表的“通用”查询分页类
Oct 09 #PHP
Get或Post提交值的非法数据处理
Oct 09 #PHP
用Socket发送电子邮件
Oct 09 #PHP
编写自己的php扩展函数
Oct 09 #PHP
PHP输出控制功能在简繁体转换中的应用
Oct 09 #PHP
You might like
php 生成WML页面方法详解
2009/08/09 PHP
php 求质素(素数) 的实现代码
2011/04/12 PHP
php 判断数组是几维数组
2013/03/20 PHP
探讨:如何通过stats命令分析Memcached的内部状态
2013/06/14 PHP
php+mysql实现简单的增删改查功能
2015/07/13 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
jQuery 使用手册(一)
2009/09/23 Javascript
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
jcrop基本参数一览
2013/07/16 Javascript
JavaScript 32位整型无符号操作示例
2013/12/08 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
2015/11/30 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
2016/03/06 Javascript
NodeJS整合银联网关支付(DEMO)
2016/11/09 NodeJs
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
layui实现点击按钮给table添加一行
2018/08/10 Javascript
VUE+Element环境搭建与安装的方法步骤
2019/01/24 Javascript
微信小程序时间戳转日期的详解
2019/04/30 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
JS实现拖拽元素时与另一元素碰撞检测
2020/08/27 Javascript
如何在JS文件中获取Vue组件
2020/09/16 Javascript
浅析VUE防抖与节流
2020/11/24 Vue.js
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
[02:57]DOTA2英雄基础教程 风行者
2014/01/16 DOTA
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
python+selenium实现登录账户后自动点击的示例
2017/12/22 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
2019/05/28 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
2019/06/08 Python
python使用配置文件过程详解
2019/12/28 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
家具厂厂长岗位职责
2014/01/01 职场文书
2014年度考核工作总结
2014/12/24 职场文书
小学生差生评语
2014/12/29 职场文书
建国大业电影观后感
2015/06/01 职场文书
什么是SOLID
2022/03/24 Javascript
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python