Wordpress.com rss在我的外部网站上的Feed显示未链接到wordpress.com

时间:2014-08-17 05:05:30

标签: php wordpress rss wordpress.com

我在wordpress.com上有一个博客,我已经创建了RSS订阅页面..我可以在我的网站上显示一个与wordpress没有关联的最近帖子吗?我没有在我的网站上链接wordpress,因为它一直在减慢我的主要网络..

我已尝试过以下代码,但仍无法使用我的Feed(http://yuchun6002hk.wordpress.com/feed

$rss = new DOMDocument();
$rss->load('http://yuchun6002hk.wordpress.com/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 = 1;
for($x=0;$x<$limit;$x++) {
    $title = str_replace(' & ', ' &amp; ', $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>';
}

1 个答案:

答案 0 :(得分:1)

您发布的代码准确无误并且在我的服务器上正常运行。

因此,有几种可能的原因可能导致您的代码无法正常工作。

首先,确保您使用PHP5 - PHP4等旧版本不支持DomDocument。

此外,尝试启用允许访问URL对象(如文件)的PHP设置。为此,请打开服务器的php.ini文件,并将其修改为包含此设置:

allow_url_fopen = On

这将允许DomDocument :: load()从远程URL获取和加载XML,将其视为本地路径。

请注意,此设置有一些安全隐患,您可能需要查看一下 - 如下所述:Should I allow 'allow_url_fopen' in PHP?

如果之后仍然无法工作,您应该确保您的服务器启用了LibXML和DOM扩展,因为它们是使用DomDocument类所必需的。

如果您无法控制服务器设置或扩展程序,可以尝试使用SimpleXML及其内置函数simplexml_load_file()。当然,这需要您重写代码,因为操作SimpleXML对象与使用DomDocument不同。