2

我正在使用Mediawiki api以从 Wikipedia 页面获取内容。我编写了一个生成下一个查询的代码(例如):

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&rvsection=0&titles=hawaii

它只检索关于夏威夷的维基百科页面的开头段落。

问题是您可能会注意到有很多不相关的子字符串,例如:

"[[Molokai|Moloka{{okina}}i]], [[Lanai|Lāna{{okina}}i]], [[Kahoolawe|Kaho{{okina}}olawe]], [[Maui]] and the [[Hawaii (island)|".

所有这些括号 [[]] 都不相关,我想知道是否有一种优雅的方法可以从这些页面中只提取“干净”的内容?

提前致谢。

4

2 回答 2

1

您可以使用以下查询从 Wikipedia 获取干净的 HTML 文本:

https://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=hawaii

如果你只想要一个纯文本,没有 HTML,试试这个:

https://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=hawaii&explaintext

于 2015-11-12T10:14:01.147 回答
0

请试试这个:

$relevant = preg_replace('/[[.*?]]/', '', $string);

编辑:刚刚发现这个- 希望它有帮助

于 2013-04-09T18:59:33.657 回答