我正在使用一个多RSS阅读器,该阅读器基本上是从博客和社交媒体导入提要,并将其置于时间表中。全球社会活动报告:)
我无法在Web服务器上使用直接URL打开,因此我不得不更改脚本以每次卷曲检索rss feed。
奇怪的是,当我使用load()方法在本地打开rss-feed时,我收到了正确的对象。但是,当我使用cURL打开它时,Object中的textContent为空。为什么这个?
这里的代码来获取xml数据
foreach ($FeedUrls as $FeedUrl) {
$rss = new DOMDocument();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $FeedUrl['url']);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$rsscurl = curl_exec($ch);
curl_close($ch);
$rss->load($rsscurl);
我没有curl_error()输出的卷曲错误
我注意到,这两个对象看起来略有不同。这
不使用cURL时,将填充documentURI和baseURI。但是没有cURL错误吗?
如果我在$ rsscurl中使用print_r,则可以看到rss feed中的博客文章的xml代码。但是,如果在加载DOMDocument之后打印$ rss对象,则会看到该对象没有内容。???
我在这里想念什么?
我发现问题了
当使用curl加载rss feed时,我必须使用DOMDocument中的loadXML()方法而不是load()!
load()从文件加载,loadXML()从字符串加载,因此cURL返回的是字符串,而不是文件!
我不完全理解为什么我没有得到任何错误
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句