1. 程式人生 > >維基百科api的簡單呼叫以及wiki 標記的轉義(pear的安裝以及使用)

維基百科api的簡單呼叫以及wiki 標記的轉義(pear的安裝以及使用)

WIKI的API格式:http://語言縮寫.wikipedia.org/w/api.php?&action=query&titles=語言對應的文字&format=返回格式&prop=revisions&rvprop=content

我現在做一箇中國的歷史上的今天 獲取XML資料(prop表示版本  具體引數請點選中文API 以及文件 檢視 )

則請求的URL為:http://zh.wikipedia.org/w/api.php?action=query&titles=12月31日&format=xml&prop=revisions&rvprop=content

$str = file_get_contents($need_url);
			//$content = $result->query->pages->page->revisions->rev;
			$obj=simplexml_load_string($str,'SimpleXMLElement',LIBXML_NOCDATA);
			$obj=get_object_vars($obj);
			$revisions = $obj['query']->pages->page->revisions->rev;

列印$revisions 發現數據是帶有wiki標記的,我們須要做的是將wiki的標記去除掉,百度發現 PEAR Text_Wiki 包,它可以實現在 Wikitext 與多個其他格式之間相互轉換。

那麼首先要做的是安裝pear

修改配置檔案 php.ini:

include_path = "D:\wnmp\php5\PEAR\" 

安裝pear:



上面一路回車 基本都行了  如果不行,請在選擇all的時候輸入all  填寫system或local時候填寫local 基本可以一路進行下來

如果遇到

 channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update
這中錯誤 是版本問題 只需 執行下面即可:
D:\xampp\php>pear channel-update pear.php.net 
Updating channel "pear.php.net" 
Update of Channel "pear.php.net" succeeded 
上述是摘抄別人的  後面會給連結 

pear remote-list 命令是羅列所有的pear包  由於包比較多 執行這個命令 相應事件略長

下面就是安裝我們須要的兩個wiki包了


安裝

安裝第二的時候報錯   ,一開始沒細讀錯誤 以為是pear版本的問題  後來才知道是須要給定mediawiki的版本  執行:pear install Text_Wiki_Mediawiki-0.2.0 即可

好了 wiki的轉換包就安裝成功了!

呼叫WIKI轉換包:

找到剛給安裝好的wiki轉換包  我的安裝路徑是:D:\wnmp\php5\PEAR\pear\Text

將text檔案複製到PHP的工作目錄,在php檔案中包含Wiki.php

require_once './Text/Wiki.php';

// instantiate a Text_Wiki object from the given class
// and set it to use the Mediawiki adapter
	$wiki = & Text_Wiki::factory('Mediawiki');

// set some rendering rules  
	$wiki->setRenderConf('xhtml', 'wikilink', 'view_url','http://zh.wikipedia.org/wiki/');
	$wiki->setRenderConf('xhtml', 'wikilink', 'pages', false);
	echo $wiki->transform($revisions, 'Xhtml');
檢視網頁之後 有點小亂碼;後面再搞吧

pear錯誤:http://blog.csdn.net/chensong0708/article/details/6634848

還有好多pear安裝的教程 百度一大把 就不說了