拼音码表的生成

睡觉是件奢侈品

睡觉是件奢侈品

2016-01-29 14:42

拼音码表的生成,拼音码表的生成
  <?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";
?

 
展开更多 50%)
分享

猜你喜欢

拼音码表的生成

PHP
拼音码表的生成

生成GBK码表

编程语言 网络编程
生成GBK码表

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

自动生成拼音(汉字反查到拼音)

编程语言 网络编程
自动生成拼音(汉字反查到拼音)

教你如何用Delphi生成GBK码表

Delphi
教你如何用Delphi生成GBK码表

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

CRC32生成码表方法实现

编程语言 网络编程
CRC32生成码表方法实现

《魔力小孩拼音》——最有爱的拼音教学产品

育儿知识 怀孕 孕妇
《魔力小孩拼音》——最有爱的拼音教学产品

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

使用MaxMind 根据IP地址对访问者定位

使用MaxMind 根据IP地址对访问者定位

Oracle容灾复制解决方案分析SharPlex

Oracle容灾复制解决方案分析SharPlex
下拉加载更多内容 ↓