我在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(' & ', ' & ', $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>';
}
答案 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不同。