最近想把一些下载到的Word或者PDF文档放置到以前的MediaWiki网站中去,格式转换有些麻烦,网上可以找到一些工具,但似乎都不是很适合我来用。
Word文档可以另存HTML文件(使用过滤的HTML格式可以去掉图片等附加文件),但打开HTML查看源文件会发现大量字体css代码需要清理。
我想尝试搞个PHP小程序来进行过滤,如下:
<?php /* * input的html内容简化到output1,然后转成mediawiki格式的output2 * James Qi 2013-11-10 */ if (isset($_POST['input']) ) { $input=$_POST['input']; } else { $input='
Afghanistan (country code +93)
First digit of area code |
'; } $array_input=explode("\n",$input); $output1=''; foreach ($array_input as $key=>$text_input) { //$output1.= "$key=>$text_input\n"; if (strpos($text_input,'/s","",$output1); $output1=str_replace("","",$output1); $output1=preg_replace("/ class=(.+?)>/s",">",$output1); $output1=preg_replace("/ class=(.+?)\s/s"," ",$output1); $output1=preg_replace("/ style='(.+?)'/s","",$output1); $output1=preg_replace("/ width=(\d+?)>/s",">",$output1); $output1=preg_replace("/ width=(\d+?)\s/s"," ",$output1); $output1=preg_replace("//s"," ",$output1); $output1=str_replace('','',$output1); $output1=str_replace('
',$output1); $output1=str_replace('','',$output1); $output1=str_replace('','',$output1); $output1=str_replace(' ',' ',$output1); $output1=str_replace(' ',' ',$output1); $output1=str_replace(' ',' ',$output1); $output1=str_replace("\n ","\n",$output1); $output1=str_replace("\n ","\n",$output1); $outpu1=trim($output1); $output2=$output1; $output2=str_replace("
","",$output2); $output2=str_replace("
","===",$output2); $output2=str_replace("
","===",$output2); $output2=str_replace("
","{|",$output2); $output2=str_replace("
","|}",$output2); $output2=str_replace("","|-",$output2); $output2=str_replace("","",$output2); $output2=str_replace("","|",$output2); $output2=str_replace("","",$output2); $output2=str_replace("
","",$output2); $output2=str_replace("
","",$output2); $output2=str_replace("
","====",$output2); $output2=str_replace("
","====",$output2); $output2=str_replace(""," valign=top|",$output2); $output2=str_replace("","{| border=1",$output2); $output2=str_replace("","|- height=0|",$output2); $output2=str_replace("
\n"; $output= "
输出框1 输出简化HTML代码 按ctrl-a全选,按ctrl-c复制 | 输出框2 输出MediaWiki代码 按ctrl-a全选,按ctrl-c复制 |
"; print $output; ?>
另外一种现成的工具Microsoft Office Word Add-in For MediaWiki请看补充留言。
评论1
Microsoft Office Word Add-in For MediaWiki
为了实现Word内容转Wiki格式,我在以前那台笔记本电脑中安装过下面这个插件,从微软官方网站下载的:
Microsoft Office Word Add-in For MediaWiki
如果都可以用这个转换,其实可以不用先转HTML再转Wiki的,但实际使用中发现对有些Word文件无法转Wiki成功,就只能让可以转换成功的就直接转,不能转换成功的就用上面Word -> HTML -> Wiki的办法间接转。