拼音码表的生成


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 相关文章推荐
输出控制类
Oct 09 PHP
真正的ZIP文件操作类(php)
Jul 21 PHP
克隆一个新项目的快捷方式
Apr 10 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
Jul 14 PHP
PHP扩展开发入门教程
Feb 26 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
Mar 19 PHP
详解PHP中的mb_detect_encoding函数使用方法
Aug 18 PHP
PHP中each与list用法分析
Jan 08 PHP
php简单实现数组分页的方法
Apr 30 PHP
php blowfish加密解密算法
Jul 02 PHP
php导出csv文件,可导出前导0实例代码
Nov 16 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
Sep 23 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
PHP 和 MySQL 基础教程(四)
2006/10/09 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
javascript 流畅动画实现原理
2009/09/08 Javascript
jquery 提示信息显示后自动消失的具体实现
2013/12/18 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
JS组件Bootstrap Select2使用方法详解
2020/04/17 Javascript
vue.js初学入门教程(2)
2016/11/07 Javascript
jQuery列表检索功能实现代码
2017/07/17 jQuery
详解Vue.js自定义tipOnce指令用法实例
2018/12/19 Javascript
vue在index.html中引入静态文件不生效问题及解决方法
2019/04/29 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
js实现左右轮播图
2020/01/09 Javascript
v-slot和slot、slot-scope之间相互替换实例
2020/09/04 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
Python获取远程文件大小的函数代码分享
2014/05/13 Python
Python Pandas找到缺失值的位置方法
2018/04/12 Python
python实现图片文件批量重命名
2020/03/23 Python
对python:循环定义多个变量的实例详解
2019/01/20 Python
python flask安装和命令详解
2019/04/02 Python
python爬虫 2019中国好声音评论爬取过程解析
2019/08/26 Python
Python API自动化框架总结
2019/11/12 Python
利用python读取YUV文件 转RGB 8bit/10bit通用
2019/12/09 Python
pandas和spark dataframe互相转换实例详解
2020/02/18 Python
jupyter实现重新加载模块
2020/04/16 Python
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
Shopee越南:东南亚与台湾电商平台
2019/02/03 全球购物
促销活动计划书
2014/05/02 职场文书
幼儿园社区活动总结
2014/07/07 职场文书
介绍信的写法
2015/01/31 职场文书
入党积极分子群众意见
2015/06/01 职场文书
2016年圣诞节寄语(一句话)
2015/12/07 职场文书
解决Pytorch中关于model.eval的问题
2021/05/22 Python