0

我正在与奇怪的问题作斗争file_get_contents()
首先,代码从 RSS 地址加载 XML。然后file_get_contents()使用 XML 中的页面地址获取 HTML。

$url = 'http://www.moviejoy.com/rss/index.asp';
$rss = new DOMDocument();
$rss->load($url);

foreach ($rss->getElementsByTagName('item') as $node) {
    $link = $node->getElementsByTagName('link')->item(0)->nodeValue;
    $html = file_get_contents($link);
    print_r($html);
}

这段代码给了我一个错误说:

警告:file_get_contents(http ://www.movi​​ejoy.com/qnam/view.asp?db=qna&num=2358)[function.file-get-contents ]:无法打开流:/[ 中没有这样的文件或目录。 ..]/index.php135行

但!
当我直接放置 URL 而不是 $link 时,它可以工作。像这样:
$html = file_get_contents(http://www.moviejoy.com/qnam/view.asp?db=qna&num=2358);

我不知道该怎么做才能解决这个问题。请帮帮我!

4

1 回答 1

0

您可以在 rss 源代码中看到该链接位于此标记中:

<link>
http://www.moviejoy.com/qnam/view.asp?db=qna&amp;num=2387               
</link>

所以在它之前和之后都有一个新行。您可以通过调用 trim 来获得“干净”链接。所以只需添加这个:

$link = trim($link);

紧接着

$link = $node->getElementsByTagName('link')->item(0)->nodeValue;
于 2013-08-16T08:50:52.097 回答