Heim > Backend-Entwicklung > PHP-Tutorial > 拼音码表的生成

拼音码表的生成

WBOY
Freigeben: 2016-06-01 14:28:59
Original
1190 Leute haben es durchsucht
/**
 拼音码表的生成:
   启动输入法生成器在逆转换选项卡中装入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)    $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   $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 "";
for($i=0;$i  echo "";
}
echo "";
for($i=0;$i  echo "";
}
echo "
".$ar[$i][1]."
".$ar[$i][0]."
";
?>

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage