php - 使用 PHP cURL 从维基百科 API 中提取段落

标签 php parsing curl mediawiki wikipedia-api

这是我使用维基百科 (MediaWiki) API 尝试做的事情 - http://en.wikipedia.org/w/api.php

  1. http://en.wikipedia.org/w/api.php?format=xml&action=opensearch&search=[keyword] 上执行 GET检索关键字的建议页面列表

  2. http://en.wikipedia.org/w/api.php?format=json&action=query&export&titles=[page 上使用 GET 遍历每个建议的页面标题]

  3. 将页面上找到的任何段落提取到一个数组中

  4. 用数组做某事

我卡在#3 上了。我可以看到一堆在段落之间包含“\n\n”的 JSON 数据,但由于某种原因,PHP explode() 函数不起作用。

本质上,我只想获取每个维基百科页面的“内容”(不是标题或任何格式,只是内容)并将其按段落分解成一个数组。

有什么想法吗?谢谢!

最佳答案

\n\n 字面意思是那些字符,而不是换行符。确保在 explode 中的字符串周围使用单引号:

$parts = explode('\n\n', $text);

如果您选择使用双引号,则必须转义 \ 字符,如下所示:

$parts = explode("\\n\\n", $text);

旁注:为什么要以两种不同的格式检索数据?为什么不只使用 JSON 或只使用 XML?

关于php - 使用 PHP cURL 从维基百科 API 中提取段落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2879973/

相关文章:

php:在异常处理程序中处理异常?

php - 单个查询中的多个数据库是可能的吗?

java - Scala 将很长的字符串解析为日期

计算 parser.y 中的参数?

不使用正则表达式的Java字符串解析

PHP通过代理连接HTTPS站点

单引号内的 PHP 函数显示为文本

PHP fatal error : call to a member function make() in index. php on line 50 Laravel

c - 对于curl程序,获取对 'clock_gettime'错误的 undefined reference

r - 如何发送 GET 请求而不等待响应