拼音码表的生成


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导出MySQL数据到Excel文件(fputcsv)
Jul 03 PHP
用PHP读取超大文件的实例代码
Apr 01 PHP
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
Jun 05 PHP
ThinkPHP之import方法实例详解
Jun 20 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
Jan 07 PHP
php跨服务器访问方法小结
May 12 PHP
PHP使用数组依次替换字符串中匹配项
Jan 08 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
Feb 16 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
Jul 24 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 PHP
ThinkPHP5框架中使用JWT的方法示例
Jun 03 PHP
PHP程序守护进程化实现方法详解
Jul 16 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
无线电广播与收音机发展的历史回眸
2021/03/02 无线电
PHP 中的一些经验积累
2006/10/09 PHP
PHP伪静态写法附代码
2008/06/20 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
php array_map使用自定义的函数处理数组中的每个值
2016/10/26 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
总结一些js自定义的函数
2006/08/05 Javascript
js 页面执行时间计算代码
2009/03/04 Javascript
JavaScript创建对象的写法
2013/08/29 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
给应用部分的js代码设定一个统一的入口
2014/06/15 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
2015/04/30 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
简单谈谈json跨域
2016/03/13 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
JS数组方法reverse()用法实例分析
2020/01/18 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
编写Python CGI脚本的教程
2015/06/29 Python
使用Python编写基于DHT协议的BT资源爬虫
2016/03/19 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
python中对数据进行各种排序的方法
2019/07/02 Python
基于Python的ModbusTCP客户端实现详解
2019/07/13 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
Mytheresa英国官网:拥有160多个奢侈品品牌
2016/10/09 全球购物
Origins加拿大官网:雅诗兰黛集团高端植物护肤品牌
2017/11/19 全球购物
幼儿园园长自我鉴定
2013/10/22 职场文书
毕业生就业推荐表自我鉴定
2014/03/20 职场文书
勤俭节约演讲稿
2014/05/08 职场文书
浅谈什么是SpringBoot异常处理自动配置的原理
2021/06/21 Java/Android
Python list列表删除元素的4种方法
2021/11/01 Python
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle