Php 重用语义MediaWiki';s为我自己的数据处理询问数据库查询

Php 重用语义MediaWiki';s为我自己的数据处理询问数据库查询,php,mediawiki-extensions,semantic-mediawiki,Php,Mediawiki Extensions,Semantic Mediawiki,我有一些MediaWiki文章看起来像: ===Section=== Text Here, some lists, and some other text ===Section2=== {{#ask Query for a Table}} ===Section3=== {{#ask Query for a JQPlot}} 我希望在每个部分的基础上获取页面数据,然后用PHP处理查询,制作一个自定义解析器。我做了一个扩展特殊页面的页面 $title = Title::newFromText($p

我有一些MediaWiki文章看起来像:

===Section===
Text Here, some lists, and some other text
===Section2===
{{#ask Query for a Table}}
===Section3===
{{#ask Query for a JQPlot}}
我希望在每个部分的基础上获取页面数据,然后用PHP处理查询,制作一个自定义解析器。我做了一个扩展特殊页面的页面

$title = Title::newFromText($page);
$article = new Article($title);
$parserOptions = ParserOptions::newFromUser($wgUser);
$article->getRawText();
目前,我可以获取rawtext(),它将返回
这里的一些文本===Section1===More===Section2=={{{{ask:Query}}}==Section3==={{{{{{{ask:Query}}


如何处理每个查询(从数据库获取原始数据),以便解析数据并为每个查询创建自定义输出?此外,我如何在每个部分的基础上处理它?从文档中可以看出,我可以使用extractSections(),但这是假设我知道有多少节。我遗漏了什么吗?

您想如何处理这些查询?这可能不是解决任何问题的最简单方法。您是否考虑过为查询使用自定义结果格式,以使它们看起来像您想要的?问题是,我正在传递的查询不会设置这些自定义结果格式。相反,我将得到
format=jqplot
,我无法使用它导出到PowerPoint。我想处理查询(或将查询发送到结果解析器),该查询将处理数据本身并返回数据幻灯片。但是,我也需要通过部分内容。所以我的想法是获取文章的content(),正则表达式解析出===标题===作为一个部分,然后在另一个===部分===之前的所有内容都将放在一张幻灯片上。然后,查询将通过一个自定义的解析器进行。@RijviRajib,听起来您想编写自己的解析器。有几个扩展提供了一个,其中语义结果格式是最常见的。谢谢尼莫,我从IRC得到了答案。