拼音码表的生成


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
PHP Zip解压 文件在线解压缩的函数代码
May 26 PHP
简单的php写入数据库类代码分享
Jul 26 PHP
PHP判断图片格式的七种方法小结
Jun 03 PHP
PHP限制页面只能在微信自带浏览器访问的代码
Jan 15 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
Apr 05 PHP
如何正确配置Nginx + PHP
Jul 15 PHP
Yii中的cookie的发送和读取
Jul 27 PHP
PHP实现导出带样式的Excel
Aug 28 PHP
php将print_r处理后的数据还原为原始数组的解决方法
Nov 02 PHP
PHP面向对象程序设计类的定义与用法简单示例
Dec 27 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
May 31 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 has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
替换php字符串中的单引号为双引号的方法
2017/02/16 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
laravel5.6中的外键约束示例
2019/10/23 PHP
ExtJS4 组件化编程,动态加载,面向对象,Direct
2011/05/12 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
javascript中的循环语句for语句深入理解
2014/04/04 Javascript
js中运算符&amp;&amp; 和 || 的使用记录
2014/08/21 Javascript
javascript实现倒计时并弹窗提示特效
2015/06/05 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
2015/10/01 Javascript
阿里大于短信验证码node koa2的实现代码(最新)
2017/09/07 Javascript
vue组件详解之使用slot分发内容
2018/04/09 Javascript
Vue props用法详解(小结)
2018/07/03 Javascript
微信小程序实现文字跑马灯
2020/05/26 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
[46:32]Fnatic vs OG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中super()函数简介及用法分享
2016/07/11 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
Python使用字典的嵌套功能详解
2019/02/27 Python
python3中property使用方法详解
2019/04/23 Python
使用python搭建服务器并实现Android端与之通信的方法
2019/06/28 Python
python 中pyqt5 树节点点击实现多窗口切换问题
2019/07/04 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
python实现邮件自动发送
2019/08/10 Python
python 视频逐帧保存为图片的完整实例
2019/12/10 Python
Python读写锁实现实现代码解析
2020/11/28 Python
英国优质鞋类专家:Robinson’s Shoes
2017/12/08 全球购物
2014年情人节活动方案
2014/02/16 职场文书
2014年世界艾滋病日宣传活动总结
2014/11/18 职场文书
离婚协议书范文2015
2015/01/26 职场文书
艺术节开幕词
2015/01/28 职场文书
个人工作保证书
2015/02/28 职场文书
给女朋友的道歉短信
2015/05/12 职场文书
创业项目大全(适合在家创业的项目)
2019/08/15 职场文书
Python破解极验滑动验证码详细步骤
2021/05/21 Python