当前位置:   article > 正文

维基百科api的简单调用以及wiki 标记的转义(pear的安装以及使用)_wikiapi

wikiapi

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

  1. $str = file_get_contents($need_url);
  2. //$content = $result->query->pages->page->revisions->rev;
  3. $obj=simplexml_load_string($str,'SimpleXMLElement',LIBXML_NOCDATA);
  4. $obj=get_object_vars($obj);
  5. $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
这中错误 是版本问题 只需 执行下面即可:

  1. D:\xampp\php>pear channel-update pear.php.net
  2. Updating channel "pear.php.net"
  3. 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

  1. require_once './Text/Wiki.php';
  2. // instantiate a Text_Wiki object from the given class
  3. // and set it to use the Mediawiki adapter
  4. $wiki = & Text_Wiki::factory('Mediawiki');
  5. // set some rendering rules
  6. $wiki->setRenderConf('xhtml', 'wikilink', 'view_url','http://zh.wikipedia.org/wiki/');
  7. $wiki->setRenderConf('xhtml', 'wikilink', 'pages', false);
  8. echo $wiki->transform($revisions, 'Xhtml');
查看网页之后 有点小乱码;后面再搞吧

wikiAPI调用教程:http://www.ibm.com/developerworks/cn/xml/x-phpwikipedia/ 这个教程是用的ZF框架  须要在ZF框架基础下才能调用Zend_Rest_Client类

pear错误:http://blog.csdn.net/chensong0708/article/details/6634848

还有好多pear安装的教程 百度一大把 就不说了 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/368295
推荐阅读
相关标签
  

闽ICP备14008679号