在维基百科的Infobox中,一些属性值也在花括号内{{}} ..有时候他们也有lins ..我需要大括号内的值,这些值显示在维基百科网页上。 我也读过这些模板..任何人都可以给我一些链接或指导我如何处理它?</ p>
答案 0 :(得分:2)
双花括号{{}}
定义对某种魔术词,变量,解析器函数或模板的调用。可以在MediaWiki.org/.../Manual:Magic_words上找到帮助。看起来像|
的小行被称为pipes并且用作分隔符,允许wikicore解析引擎定义可以与魔术词,变量,解析器函数或模板一起使用的参数。
答案 1 :(得分:1)
希望这会帮助遇到同样问题的每个人。 考虑到您将使用PHP解析信息框,您可以使用: http://www.mywiki.com/wiki/api.php?format=xml&action=query&titles=PAGE_TITLE_THAT_CONTAINS_AN_INFOBOX&prop=revisions&rvprop=content&rvgeneratexml=1
'rvgeneratexml'被设置为true(1),这将使xml节点<rev>
生成包含XML格式的信息框信息的属性“parsetree”。
然后,在PHP中,您可以使用simpleXML加载整个信息(<api>
所有内容,包括<rev></api>
):
$xml = simplexml_load_file($url);
然后你可以通过获取“parsetree”属性并加载字符串来加载模板的信息:
$template = simplexml_load_string($xml->query->pages->page->revisions->rev->attributes()->parsetree);
$template = $template->template; // If more than 1 template, check template[0], [1], etc
然后,通过使用正确的结构,您可以使用以下内容访问元素:
if ($template->part[0]->name='name')
$film = $template->part[0]->value;
然后,$film
将包含电影的名称(->name
是参数的名称,->value
是其值。)