我正在使用 Yandex API 创建一个元搜索引擎。Yandex 以 XML 格式给出结果。所以我们需要遍历 XML 响应以获取不同的字段,如 URL、标题、描述等。
Yandex 的 XML 响应如下: http: //pastebin.com/kAVAVri9
这就是我实现的方式:粘贴
$dom5 = new DOMDocument();
if ($dom5->loadXML($site_results)) {
$results = $dom5->getElementsByTagName("response");
$results1 = $results->getElementsByTagName("results");
$results2 = $results1->getElementsByTagName("group");
$totals["yandex"] = 1000;
foreach ($results1 as $link) {
$url = $link->getElementsByTagName("doc")->item(2)->nodeValue;
;
$url = str_replace('http://', '', $url);
if (substr($url, -1, 1) == '/') {
$url = substr($url, 0, strlen($url) - 1);
}
$search_results[$i]["url"] = $url;
$title = $link->getElementsByTagName("doc")->item(4)->nodeValue;
$search_results[$i]["title"] = $title;
$test = $link->getElementsByTagName("doc");
$test1 = $test->getElementsByTagName("title");
$desc = $test1->getElementsByTagName("headline")->item(0)->nodeValue;
$search_results[$i]["desc"] = $desc;
$search_results[$i]["engine"] = 'yandex';
$search_results[$i]["position"] = $i + 1;
$i++;
}
}
我是 php 新手。如果我犯了一些愚蠢的错误,请原谅我。我无法通过我的实施来检索结果。请帮我找出错误并从 xml 响应中获取必要的字段。谢谢!