拼音码表的生成


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多图上传小程序代码
Jul 17 PHP
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
Nov 21 PHP
php 解决旧系统 查出所有数据分页的类
Aug 27 PHP
Apache下禁止php文件被直接访问的解决方案
Apr 25 PHP
windows中为php安装mongodb与memcache
Jan 06 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
Dec 10 PHP
基于PHP技术开发客服工单系统
Jan 06 PHP
Yii2中使用join、joinwith多表关联查询
Jun 30 PHP
PHP实现Session入库/存入redis的方法
May 04 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
Jan 23 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 PHP
PHP 8新特性简介
Aug 18 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
关于时间计算的结总
2006/12/06 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
2010/10/19 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
PHP异常处理浅析
2015/05/12 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
php简单截取字符串代码示例
2016/10/19 PHP
Laravel模型事件的实现原理详解
2018/03/14 PHP
基于JQuery的密码强度验证代码
2010/03/01 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
Javascript玩转继承(一)
2014/05/08 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
Vue框架之goods组件开发详解
2018/01/25 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
Vue导出页面为PDF格式的实现思路
2018/07/31 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
vue 插件的方法代码详解
2019/06/06 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
2019/08/27 Javascript
JavaScript setInterval()与setTimeout()计时器
2019/12/27 Javascript
vue中使用WX-JSSDK的两种方法(推荐)
2020/01/18 Javascript
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
Python对列表的操作知识点详解
2019/08/20 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
TensorFlow索引与切片的实现方法
2019/11/20 Python
python-视频分帧&amp;多帧合成视频实例
2019/12/10 Python
将数据集制作成VOC数据集格式的实例
2020/02/17 Python
Pycharm安装python库的方法
2020/11/24 Python
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
京东国际站:JOYBUY
2017/11/23 全球购物
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
金融专业个人的自我评价
2013/10/18 职场文书
留学自荐信写作方法
2014/01/27 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
股份合作协议书
2014/09/10 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
2022/04/12 PostgreSQL