拼音码表的生成


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中的日期及时间
Nov 23 PHP
让PHP开发者事半功倍的十大技巧小结
Apr 20 PHP
php中日期加减法运算实现代码
Dec 08 PHP
用PHP代替JS玩转DOM的思路及示例代码
Jun 15 PHP
PHP生成短网址的3种方法代码实例
Jul 08 PHP
IIS下PHP的三种配置方式对比
Nov 20 PHP
详解php中反射的应用
Mar 15 PHP
PHP使用new StdClass()创建空对象的方法分析
Jun 06 PHP
微信公众号开发之获取位置信息php代码
Jun 13 PHP
详解laravel安装使用Passport(Api认证)
Jul 27 PHP
PHP实现负载均衡session共享redis缓存操作示例
Aug 22 PHP
php+js实现点赞功能的示例详解
Aug 07 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(5) 类和对象
2010/02/16 PHP
超级好用的一个php上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
php循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
2014/11/19 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
封装好的省市地区联动控件附下载
2007/08/13 Javascript
JS 文件本身编码转换 图文教程
2009/10/12 Javascript
jquery text()要注意啦
2009/10/30 Javascript
jQuery 打造动态渐变按钮 详细图文教程
2010/04/25 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
2011/02/23 Javascript
Javascript base64编码实现代码
2011/12/02 Javascript
javascript中IE浏览器不支持NEW DATE()带参数的解决方法
2012/03/01 Javascript
jQuery中Ajax的load方法详解
2015/01/14 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
2016/06/13 Javascript
如何更好的编写js async函数
2018/05/13 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
对 Vue-Router 进行单元测试的方法
2018/11/05 Javascript
vue.js实现简单购物车功能
2020/05/30 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
2020/11/02 Javascript
WebStorm无法正确识别Vue3组合式API的解决方案
2021/02/18 Vue.js
Python实现单词翻译功能
2017/06/06 Python
python编程实现12306的一个小爬虫实例
2017/12/27 Python
python调用staf自动化框架的方法
2018/12/26 Python
python对文件的操作方法汇总
2020/02/28 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
LightInTheBox法国站:中国跨境电商
2020/03/05 全球购物
如何获取某个日期是当月的最后一天
2013/12/05 面试题
电气工程及其自动化学生实习自我鉴定
2013/09/19 职场文书
火车的故事教学反思
2014/02/11 职场文书
个人对照检查材料
2014/02/12 职场文书
技术转让协议书
2016/03/19 职场文书
如何在CocosCreator里画个炫酷的雷达图
2021/04/16 Javascript
mysql如何配置白名单访问
2021/06/30 MySQL
详解使用内网穿透工具Ngrok代理本地服务
2022/03/31 Servers