在信息框在维基百科的一些属性值也花括号{{}}。有的时候他们还林家。我需要的牙套,其中显示维基百科网页内的值。 我读这些模板也..任何人都可以给我一些链接或指导我我该如何处理呢?
Answer 1:
双大括号{{}}
定义了某种神奇的字眼,变量,解析器函数,或模板...帮助上可以找到的呼叫MediaWiki.org/.../Manual:Magic_words 。 小线条,看起来像|
被称为管道并用于作为分隔符,其允许wikicore解析引擎,以限定可与口令字,变量,解析器功能,或模板中使用的参数..
Answer 2:
希望这将有助于大家谁遇到这同一个问题。 考虑到你将用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”被设置为真(1),这将使XML节点<rev>
生成的属性“分析树”含有XML格式的信息框的信息。
然后,在PHP,可以加载整个信息( <api>
一切,包括<rev></api>
用SimpleXML:
$xml = simplexml_load_file($url);
然后你就可以得到“分析树”属性,并加载字符串加载模板的信息:
$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
是它的值)。
文章来源: How to parse the attributes value inside {{}} (curly braces) inside a infobox