技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> PHP --> 自己做了个简繁转换的东西

自己做了个简繁转换的东西

浏览:2134次  出处信息

因为这两天在整理easymule的网站,需要把一些文字转换为繁体,却找不到好用的转换工具。

因为简繁转换特别麻烦,简体字和繁体字并不是一一对应的,往往一个简体字对应多个繁体字,例如“面”字,上面下面的时候,繁简是同一个字,而“面条”的“面”却是对应“麵”字。

第二个崩溃的问题是,自从繁简分家后,所有的新词语几乎都变成了两种完全不同的说法,例如:“軟體”、“下載檔”等等,需要有一个词汇表进行翻译。

目前网上流行的简繁转换程序,基本上都没有处理以上这2个问题,无法满足我的使用需求,于是只好自己来解决。 参考了一下维基百科中文版的处理方式和词汇表,自己写了个简单的转换程序:
http://www.easymule.com/misc/ChineseConverter.php

虽然还不能完美解决我所说的那两个问题(事实上两岸用语习惯上的差异,已经不肯能完全靠机器解决了) ,但至少能自己方便的修改转换表,通过增加转换表中的内容,来提高转换的准确性。

下面是程序的源代码,里面用到的”zhtable.php”,就是MediaWiki中的ZhConversion.php,自己作了些修改。

<?php
include_once( ‘zhtable.php’ );
$input = isset($_POST['input'])?$_POST['input']:”";
$new_needle = array_merge($zh2TW, $zh2Hant1, $zh2Hant2, $zh2Hant3);
$needle = array_keys($new_needle);
$output = str_replace($needle, $new_needle, $input);
?>
<!-#set var=title value=’简繁转换工具 - 电驴’ ->
<!-#include virtual=”../zh-cn/_includes/head.html” ->
<form name=”ChineseConverter” action=”ChineseConverter.php” method=”post”>
简体:<textarea name=”input” style=”width:500px;height:200px;”>
<?php print(htmlspecialchars($input));?>
</textarea>
<br/>
繁体:<textarea name=”output” style=”width:500px;height:200px;”>
<?php print(htmlspecialchars($output));?>
</textarea>
<br/>
<input type=”submit” value=”转换”/>
</form>
<!-#include virtual=”../zh-cn/_includes/foot.html” ->


建议继续学习:

  1. UTF-8编码内简繁互转的PHP实现    (阅读:2646)
  2. 繁体中文的混合排版    (阅读:1745)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1