我正在努力解决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.moviejoy.com/qnam/view.asp?db=qna&num=2358)[function.file-get-contents]:无法打开流: / [...]中没有此类文件或目录/index.php 在 135
行但是!
当我直接放置URL而不是$ link时,它可以工作。像这样:
$html = file_get_contents(http://www.moviejoy.com/qnam/view.asp?db=qna&num=2358);
我不知道如何解决这个问题。 请帮帮我!
答案 0 :(得分:0)
您可以在RSS源中看到该链接位于此标记中:
<link>
http://www.moviejoy.com/qnam/view.asp?db=qna&num=2387
</link>
所以在它之前和之后都有一条新线。您可以通过调用它来获得“干净”链接。所以只需添加:
$link = trim($link);
之后
$link = $node->getElementsByTagName('link')->item(0)->nodeValue;