拼音码表的生成


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生成带有雪花背景的验证码
Sep 28 PHP
php下mysql数据库操作类(改自discuz)
Jul 03 PHP
php笔记之常用文件操作
Oct 12 PHP
php调用MySQL存储过程的方法集合(推荐)
Jul 03 PHP
简单实用的.net DataTable导出Execl
Oct 28 PHP
三种php连接access数据库方法
Nov 11 PHP
php开启openssl的方法
May 15 PHP
SSO单点登录的PHP实现方法(Laravel框架)
Mar 23 PHP
php PDO异常处理详解
Nov 20 PHP
php面向对象的用户登录身份验证
Jun 08 PHP
php实现微信支付之现金红包
May 30 PHP
php封装实现钉钉机器人报警接口的示例代码
Aug 08 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
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
使用PHP模拟HTTP认证
2006/10/09 PHP
php 模拟get_headers函数的代码示例
2013/04/27 PHP
解析PHP无限级分类方法及代码
2013/06/21 PHP
CI(CodeIgniter)框架中的增删改查操作
2014/06/10 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
2010/10/15 Javascript
Javascript Web Slider 焦点图示例源码
2013/10/10 Javascript
二叉树的非递归后序遍历算法实例详解
2014/02/07 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
JS组件Bootstrap实现弹出框效果代码
2016/04/26 Javascript
TableSort.js表格排序插件使用方法详解
2017/02/10 Javascript
详解前端路由实现与react-router使用姿势
2017/08/07 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
vue2.x数组劫持原理的实现
2020/04/19 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
Python实现控制台中的进度条功能代码
2017/12/22 Python
python中实现字符串翻转的方法
2018/07/11 Python
python提取xml里面的链接源码详解
2019/10/15 Python
Python时间差中seconds和total_seconds的区别详解
2019/12/26 Python
AmazeUI 单选框和多选框的实现示例
2020/08/18 HTML / CSS
英国家庭和商业健身器材购物网站:Fitness Options
2018/07/05 全球购物
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
优秀毕业自我鉴定
2014/02/15 职场文书
简洁的英文求职信范文
2014/05/03 职场文书
学风建设演讲稿
2014/09/12 职场文书
学校百日安全活动总结
2015/05/07 职场文书
上班旷工检讨书
2015/08/15 职场文书
小学语文教师研修日志
2015/11/13 职场文书
2016年“5.12”护士节慰问信
2015/11/30 职场文书
化工生产实习心得体会
2016/01/22 职场文书
试用1103暨1103、1101同门大比武 [ DAIWEI ]
2022/04/05 无线电