1

在维基百科的信息框中,一些属性值也在花括号 {{}} 内。有时它们也有 lins。我需要大括号内的值,它显示在维基百科网页上。我读了这些也是模板。任何人都可以给我一些链接或指导我如何处理它吗?

4

2 回答 2

2

双花括号{{}}定义了对某种魔法词、变量、解析器函数或模板的调用。可以在MediaWiki.org/.../Manual:Magic_words上找到帮助。看起来像的小线|称为管道,用作分隔符,允许 wikicore 解析引擎定义可与魔术词、变量、解析器函数或模板一起使用的参数。

于 2012-04-15T01:37:41.353 回答
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>生成一个属性“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是它的值)。

于 2012-08-06T03:33:59.730 回答