最近想把一些下載到的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的辦法間接轉。