拼音码表的生成


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使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
Jul 03 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
Jun 09 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
Jun 20 PHP
ThinkPHP调试模式与日志记录概述
Aug 22 PHP
一个比较不错的PHP日历类分享
Nov 18 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
Dec 22 PHP
php gd等比例缩放压缩图片函数
Jun 12 PHP
thinkphp制作404跳转页的简单实现方法
Sep 22 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
Nov 29 PHP
tp5递归 无限级分类详解
Oct 18 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 PHP
Laravel框架数据库迁移操作实例详解
Apr 06 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插入中文到sqlserver 2008里出现乱码的解决办法分享
2012/07/19 PHP
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
php页面缓存方法小结
2015/01/10 PHP
PHP中header用法小结
2016/05/23 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
2017/03/31 PHP
javascript Keycode对照表
2009/10/24 Javascript
基于jquery实现ajax无刷新评论
2020/08/19 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
详解nodejs操作mongodb数据库封装DB类
2017/04/10 NodeJs
jQuery中extend函数简单用法示例
2017/10/11 jQuery
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
Python 字符串操作方法大全
2014/03/11 Python
介绍Python中的文档测试模块
2015/04/28 Python
pygame播放音乐的方法
2015/05/19 Python
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
一个基于flask的web应用诞生(1)
2017/04/11 Python
python3.0 模拟用户登录,三次错误锁定的实例
2017/11/02 Python
python程序封装为win32服务的方法
2021/03/07 Python
在Python中通过getattr获取对象引用的方法
2019/01/21 Python
python+openCV调用摄像头拍摄和处理图片的实现
2019/08/06 Python
python 如何快速复制序列
2020/09/07 Python
python用tkinter实现一个gui的翻译工具
2020/10/26 Python
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
医科大学生毕业的自我评价分享
2013/11/12 职场文书
中文系学生自荐信范文
2013/11/13 职场文书
试用期转正员工自我评价
2014/09/18 职场文书
推普周国旗下讲话稿
2014/09/21 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
心得体会格式及范文
2016/01/25 职场文书
微信小程序用户授权最佳实践指南
2021/05/08 Javascript