在维基百科的信息框中,一些属性值也在花括号 {{}} 内。有时它们也有 lins。我需要大括号内的值,它显示在维基百科网页上。我读了这些也是模板。任何人都可以给我一些链接或指导我如何处理它吗?
2 回答
双花括号{{}}
定义了对某种魔法词、变量、解析器函数或模板的调用。可以在MediaWiki.org/.../Manual:Magic_words上找到帮助。看起来像的小线|
称为管道,用作分隔符,允许 wikicore 解析引擎定义可与魔术词、变量、解析器函数或模板一起使用的参数。
希望这将帮助遇到同样问题的每个人。考虑到您将使用 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>
生成一个属性“parsetree”,其中包含 XML 格式的信息框信息。
然后,在 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
是它的值)。