Извлечение содержимого из вызова MediaWiki API (XML, cURL) - PullRequest
2 голосов
/ 13 сентября 2010

URL:

http://en.wikipedia.org/w/api.php?action=parse&prop=text&page=Lost_(TV_series)&format=xml

Это выводит что-то вроде:

<api><parse><text xml:space="preserve">text...</text></parse></api>

Как получить только содержимое между <text xml:space="preserve"> и </text>?

Я использовал curl, чтобы получить весь контент с этого URL.Итак, это дает мне:

$html = curl_exec($curl_handle);

Какой следующий шаг?

1 Ответ

2 голосов
/ 13 сентября 2010

Используйте PHP DOM для его анализа. Сделайте это так:

//you already have input text in $html
$html = '<api><parse><text xml:space="preserve">text...</text></parse></api>';

//parsing begins here:
$doc = new DOMDocument();
@$doc->loadHTML($html);
$nodes = $doc->getElementsByTagName('text');

//display what you need:
echo $nodes->item(0)->nodeValue;

Это выводит:

текст ...

...