PHP 将MediaWiki信息作为数组返回

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 将MediaWiki信息作为数组返回相关的知识,希望对你有一定的参考价值。

function curlStart($url){
	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
	curl_setopt($ch, CURLOPT_POST, FALSE);
	curl_setopt($ch, CURLOPT_HEADER, false);
	curl_setopt($ch, CURLOPT_NOBODY, FALSE);
	curl_setopt($ch, CURLOPT_VERBOSE, FALSE);
	curl_setopt($ch, CURLOPT_REFERER, "");
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
	curl_setopt($ch, CURLOPT_MAXREDIRS, 4);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
	curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; he; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8");
	$page = curl_exec($ch);
	return $page;
}

function findWikiInfo($s) {
	$page = curlStart("http://en.wikipedia.org/w/api.php?action=opensearch&search=".urlencode($s)."&format=xml&limit=10");
	$xmlpage = simplexml_load_string($page);
	$wikiarray = array();
	if(count($xmlpage->Section->Item) == 1){
		array_push($wikiarray, array((string)$xmlpage->Section->Item->Text, (string)$xmlpage->Section->Item->Description, (string)$xmlpage->Section->Item->Url));
		return $wikiarray;
	} else {
		for($i = 0;$i != count($xmlpage->Section->Item); $i++){
			array_push($wikiarray, array((string)$xmlpage->Section->Item[$i]->Text, (string)$xmlpage->Section->Item[$i]->Description, (string)$xmlpage->Section->Item[$i]->Url));
		}
		return $wikiarray;
	}
}

print_r(findWikiInfo($_GET['search']));

以上是关于PHP 将MediaWiki信息作为数组返回的主要内容,如果未能解决你的问题,请参考以下文章

取消Mediawiki登录以防止会话劫持

MediaWiki:如何获取用户最近编辑的 N 篇文章?

MediaWiki的作用是啥?

MediaWiki 1.27 警告需要 SpecialUserLogin.php

MediaWiki隐藏index

PHP json_encode将行作为对象而不是数组返回[重复]