PHP未解析wordpress rss源
我已经在这里读了十几篇关于这个主题的帖子,所有的帖子都提到了空白问题,我没有,而且feedvalidator同意我的feed是可以的(http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fgearmunk.com%2Fblog%2Ffeed%2F) 我使用以下代码来解析rss:PHP未解析wordpress rss源,php,wordpress,rss,Php,Wordpress,Rss,我已经在这里读了十几篇关于这个主题的帖子,所有的帖子都提到了空白问题,我没有,而且feedvalidator同意我的feed是可以的(http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fgearmunk.com%2Fblog%2Ffeed%2F) 我使用以下代码来解析rss: <?php $rss = new DOMDocument(); $rss->load('http:/gearmunk.com/blog/feed/'); $f
<?php
$rss = new DOMDocument();
$rss->load('http:/gearmunk.com/blog/feed/');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array (
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
);
array_push($feed, $item);
}
$limit = 3;
for($x=0;$x<$limit;$x++) {
$title = str_replace(' & ', ' & ', $feed[$x]['title']);
$link = $feed[$x]['link'];
$description = $feed[$x]['desc'];
$date = date('l F d, Y', strtotime($feed[$x]['date']));
echo '<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />';
echo '<small><em>Posted on '.$date.'</em></small></p>';
echo '<p>'.$description.'</p>';
}
?>
但如果你看一下,你会发现,在右边,它列出了3个糟糕的日期,没有rss数据。如果我输入另一个提要URL,它工作正常;如果我将rss提要输入Google reader,它工作正常。我希望我错过了一些愚蠢的简单的东西。有人能帮忙吗
谢谢,
埃里克
更多信息:
我开始关注wordpress的问题,所以我尝试了其他一些wordpress RSS源。CNN的一个很好用(http://religion.blogs.cnn.com/feed/)但是,来自BoingBoing(也是一个WP站点)的一个不起作用:
我没有得到通常与空白问题相关的XML解析错误,所以我认为这不是问题所在
埃里克试试换衣服
$rss->load('http:/gearmunk.com/blog/feed/');
以下内容(请注意额外的/)
更改后的代码似乎按预期运行。尝试更改
$rss->load('http:/gearmunk.com/blog/feed/');
以下内容(请注意额外的/)
代码似乎按照预期的那样运行。我知道这是一个老问题,但我在试图解决我自己的WordPress RSS源问题时遇到了它。在我的例子中,我缺少PHP XML扩展 所以我跑了
apt get install php7.0-xml
(我正在Ubuntu上运行PHPV7.0,请检查您的PHP版本),重新启动了我的服务器,它完全解决了我的问题
对于PHP7上的CentOS/Fedora/Red Hat:
yum install php70w-xml
希望这对别人有帮助 我知道这是一个老问题,但我在试图解决我自己的WordPress RSS源问题时遇到了这个问题。在我的例子中,我缺少PHP XML扩展 所以我跑了
apt get install php7.0-xml
(我正在Ubuntu上运行PHPV7.0,请检查您的PHP版本),重新启动了我的服务器,它完全解决了我的问题
对于PHP7上的CentOS/Fedora/Red Hat:
yum install php70w-xml
希望这对别人有帮助 康拉德,我确实改变了这一点,但我仍然遇到同样的问题:请再试一次,这是我唯一做的改变,我得到的似乎是预期的输出。我已经把代码复制到康拉德身上了。非常有趣。它可以在你的服务器上运行,但不能在我的服务器上运行(与WP博客所在的服务器相同)。我(不止一次)确认http://在那里。我们现在可以放心地说,是我的服务器上的某些东西导致了问题。我会继续挖掘,非常感谢!我甚至创建了一个新文件,以确保它不是其他php弄乱了它,同样的结果。()可能值得联系您的主机提供商。在其环境中的记录上查找DNS可能会出现问题。如果您拥有对服务器的完全访问权限,那么对/etc/resolve.conf的修改可能会解决这个问题,如果事实上是这样的话。Conrad,我确实改变了这一点,但仍然遇到同样的问题:请重试,这是我唯一做的更改,我得到了预期的输出。我已经把代码复制到康拉德身上了。非常有趣。它可以在你的服务器上运行,但不能在我的服务器上运行(与WP博客所在的服务器相同)。我(不止一次)确认http://在那里。我们现在可以放心地说,是我的服务器上的某些东西导致了问题。我会继续挖掘,非常感谢!我甚至创建了一个新文件,以确保它不是其他php弄乱了它,同样的结果。()可能值得联系您的主机提供商。在其环境中的记录上查找DNS可能会出现问题。如果您拥有对服务器的完全访问权限,那么对/etc/resolve.conf的修改可能会解决这个问题,如果事实确实如此的话。