拼音碼錶的產生

來源:互聯網
上載者:User
關鍵字 拼音碼錶的產生
/**
 拼音碼錶的產生:
   啟動IME產生器在逆轉換選項卡中裝入window的拼音IME並將其儲存為文
 本檔案(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);
}
?>
 應用例,給文字加上拼音

/**
 應用例,給文字加上拼音。為簡化起見,假定全為中文
*/

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 = " 拼音碼錶的產生:
   啟動IME產生器在逆轉換選項卡中裝入window的拼音IME並將其儲存為文
 本檔案(winpy.txt)備用。
 
 下面的代碼將拼音碼錶檔案(文本)裝入到數組$pymb中,結構為:(拼音,(漢字...))
 碼錶轉換時間較長,應轉換後另行儲存
";


$ar = get_py($text);
//PRint_r($ar);

echo "





";for($i=0;$i echo " ";}echo " ";for($i=0;$i echo " ";}echo "
".$ar[$i][1]."
".$ar[$i][0]."
";
?>

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.