0
我試圖從SimpleXML對象的格式,但它的返回:格式化SimpleXML的對象是錯誤的
title1title2title3<a href=""></a>
即使這是...
return '<a href="'.$url.'">'.$title.'</a>';
這裏是我的全部代碼。
<?php
class ForumFeed {
private function getXMLFeeds($feed = 'all')
{
/*
Fetch the XML feeds
*/
$globalFeedXML = file_get_contents('/forum/syndication.php?limit=3');
$newsFeedXML = file_get_contents('/forum/syndication.php?fid=4&limit=3');
/*
Turn feed objects
*/
$globalFeed = new SimpleXMLElement($globalFeedXML);
$newsFeed = new SimpleXMLElement($newsFeedXML);
/*
Return requested feed
*/
if ($feed == 'news') {
return $newsFeed;
} else if ($feed == 'all') {
return $globalFeed;
} else {
return false;
}
}
private function formatFeeds($feed, $node)
{
/*
Format Feeds for displayable content..
*/
$getFeedObject = $this->getXMLFeeds($feed);
$feedData = $getFeedObject->xpath('channel/item/'.$node);
while (list(, $node) = each($feedData)) {
echo $node;
}
}
public function feed($feed)
{
$title = $this->formatFeeds($feed, 'title');
$url = $this->formatFeeds($feed, 'url');
return '<a href="'.$url.'">'.$title.'</a>';
}
}
$feeds = new ForumFeed();
echo $feeds->feed('all');
我不知道我在做什麼錯。
感謝您的回覆!然而,這會導致所有標題包含單個鏈接,應該發生的情況是每個標題都包含一個鏈接 – devs
如果需要,您需要重新設計它。 'formatFeeds'應該返回一個標題數組,並且你在'feed'中循環。或者'formatFeeds'應該包圍每個標題的鏈接,而不是在'feed'中完成。 – Barmar
啊,謝謝,OOP仍然很新鮮,並且試圖圍繞我的課程學習。 – devs