最近在工作中遇到这样一个问题:使用PHP将简体的文字转换成繁体。在网上找了一些资料,发现其实无非就是两种方式:一是自己写一个简单的类,用数组存储简体文字和繁体文字的对应关系;二是利用第三方的类库。
第一种方式可能比较简单,但是这种方式涉及到一个问题。对于简体和繁体是有语法的区别的,而第一种方式仅仅是简单的将文字转换,至于其文字所要表达的意思那就无关紧要了。
所以说我个人推荐使用第二种方式,这里向大家介绍一个简繁转换的工具——mediawiki-zhconverter。
下面我们先介绍其如何安装使用,然后我们再介绍其中需要注意的细节问题。
mediawiki-zhconverter安装使用
1. 下载MediaWiki
2. 将下载的MediaWiki解压到你的项目目录下(例如:/webapp/data/mediawiki)
3. 下载MediaWiki-zhconverter程序,然后解压并将mediawiki-zhconverter.inc.php文件拷贝到你的项目中,当然文件所在的位置根据项目而定。其实这就是一个类文件,根据项目架构将第三方类放到相应的目录中去(例如:/webapp/lib/mediawiki-zhconverter.inc.php)。
4. 在程序中设定MediaWiki的路径,并且引用mediawiki-zhconverter.inc.php
define("MEDIAWIKI_PATH", '/webapp/data/mediawiki/');
require_once "/webapp/lib/mediawiki-zhconverter.inc.php";
5. 下面就开始转换我们的文字
echo MediaWikiZhConverter::convert("迹忆博客", "zh-tw"); //台湾
echo MediaWikiZhConverter::convert("跡憶博客", "zh-cn"); //将繁体转换成简体
echo MediaWikiZhConverter::convert("迹忆博客", "zh-hk"); //香港
mediawiki-zhconverter注意细节
首先说MediaWiki有版本之分,不同的版本是不一样的。我们就以MediaWiki-1.27 和 MediaWiki-1.23为例来进行说明。
MediaWiki-1.27要求php5.5及以上版本,MediaWiki-1.23可以使用php5.5版本以下。如果我们的php是5.3版本,我们还是用MediaWiki-1.27的话可能会如下错误
syntax error, unexpected '['
然后是mediawiki-zhconverter.inc.php类对于MediaWiki不同的版本其代码也有些许的不同。
同样对于MediaWiki-1.27和MediaWiki-1.23来说,mediawiki-zhconverter.inc.php的不同体现在如下两处地方
第一 大约在163行的代码
针对MediaWiki-1.27的代码
require_once "includes/GlobalFunctions.php";
require_once "includes/AutoLoader.php";
require_once "vendor/autoload.php";
针对MediaWiki-1.23的代码
require_once "includes/GlobalFunctions.php";
require_once "includes/AutoLoader.php";
我们看,1.23相对于1.27少了require_once "vendor/autoload.php";
第二 大约在172行的代码
针对MediaWiki-1.27的代码
require_once "includes/libs/StringUtils.php";
针对MediaWiki-1.23的代码
require_once "includes/utils/StringUtils.php";
这两个版本的StringUtils.php所在的位置不同。
以上就是对于mediawiki-zhconverter.inc.php两处不同的地方。现在我们下载的应该是最新的mediawiki-zhconverter.inc.php文件,它适应的版本是MediaWiki-1.27。在实际使用中如果我们使用的是MediaWiki-1.23,我们记得将上面提到的两个地方改掉就可以使用了。
好,以上就是对php简体转繁体mediawiki-zhconverter的简单的介绍。如果没有其他的状况,经过上面方法,应该是可以正常使用的。
希望本文对大家有所帮助。