我使用MediaWiki api为维基百科提供PHP序列化的特定国家/地区的信息。
http://en.wikipedia.org/w/api.php?action=query&titles=Belgium&prop=revisions&rvprop=content&rvsection=0&format=php
我的问题
如何从此阵列中获取特定字段?像f.e。:
我不熟悉这个输出...... 谢谢!
答案 0 :(得分:1)
api无意访问capital
等belgium
等属性或类似内容。您将获得带有wiki
源代码的wikipage以及页面标题等一些额外信息。例如,维基页面可以包含有关编程语言,花卉,汽车或国家/地区的信息,只是标记没有特殊数据字段。
响应格式是序列化的php数据。使用unserialize
将其解析为数组但不希望获得有关belgium
的结构化信息:
$response = file_get_contents('http://en.wikipedia.org/w/api.php?action=query&titles=Belgium&prop=revisions&rvprop=content&rvsection=0&format=php');
$data = unserialize($response);
var_dump($data);
答案 1 :(得分:0)
它看起来像序列化的PHP,你可以unserialize()
,因为其他人已经回答。我建议改为使用JSON
格式:
http://en.wikipedia.org/w/api.php?action=query&titles=Belgium&prop=revisions&rvprop=content&rvsection=0&format=
JSON
然后,您可以使用json_decode()
来解析JSON响应并将其转换为关联数组:
$json = file_get_contents($file);
$decoded = json_decode($json, TRUE);
foreach ($decoded as $key => $value) {
// get the details you need
}
答案 2 :(得分:0)
使用此功能unserialize()
:
$array = file_get_contents('http://en.wikipedia.org/w/api.php?action=query&titles=Belgium&prop=revisions&rvprop=content&rvsection=0&format=json');
$array = unserialize( $array );
print_r( $array );