0

我在 wordpress.com 上有一个博客,并且创建了 rss 提要页面。我是否有机会在我的网站上显示一篇未与 wordpress 链接的最新帖子?我没有在我的网站上链接 wordpress,因为它一直在减慢我的主网络。

我已经尝试了下面的代码,但仍然不适用于我的提要(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>';
}
4

1 回答 1

1

您发布的代码是准确的,并且可以在我的服务器上正常运行。

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

首先,确保您使用的是 PHP5 - 像 PHP4 这样的旧版本不支持 DomDocument。

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

allow_url_fopen = On

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

请注意,此设置具有一些您可能想要查看的安全隐患 - 如此处所述:我应该在 PHP 中允许“allow_url_fopen”吗?

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

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

于 2014-08-17T07:37:53.313 回答