2013-03-05 42 views
0

這是我的問題。我使用Simplepie來獲取rss提要。在同一頁面上,我試圖顯示兩個RSS提要(例如,在兩個不同的列中)。這兩個提要來自同一個域名(但我不認爲這是一個問題,即domain.com/feed1,domain.com/anotherfeed)。避免合併/合併多個飼料與Simplepie?

我的問題是,Simplepie 不斷合併飼料。因此,在第一列中,我正確地抓住了第一個Feed,但第二列是我的兩個Feed的組合版本 - 這不是打算。

這是我做的:

$feed = new SimplePie(); 
$feed->set_feed_url($url1); 
$feed->init();   
$rss = $feed->get_items(); 
$feed->__destruct(); // Do what PHP should be doing on it's own. 
unset($feed); 

$feed = new SimplePie(); 
$feed->set_feed_url($url2); 
$feed->init();   
$rss = $feed->get_items(); 
$feed->__destruct(); // Do what PHP should be doing on it's own. 
unset($feed); 

最後兩行是擺脫第一$飼料實例的嘗試,但似乎沒有能夠避免在第二的兩種進料的合併回合。

起初,我認爲這與緩存問題有關,但禁用緩存並沒有幫助。

尋找社區似乎沒有給我任何答案 - 所以出於某種原因,我一個人就與這個問題。這告訴我,我在這裏從根本上失去了一些東西? 基本上我很高興知道如何才能真正殺死第一個飼料,所以它不會合併到第二個飼料中?

我真的希望我已經提供了足夠的信息給你們,以便能夠回答。如果沒有,那麼我很抱歉,我會盡我所能來更新這個問題。

回答

0

通話超過$飼料等你的第二個飼料的東西,它不應該的問題或許on my homepage我這樣做的頭:

<?php 
include_once './news/php/autoloader.php'; 
$muskblogFeed = new SimplePie(); 
$muskblogFeed->set_feed_url('http://blog.muschamp.ca/feed/'); 
$muskblogFeed->init(); 
$quotationFeed = new SimplePie(); 
$quotationFeed->set_feed_url('http://quotations.muschamp.ca/qotdFeed.php'); 
$quotationFeed->init(); 
$miniatureFeed = new SimplePie(); 
$miniatureFeed->set_feed_url('http://musksminiatures.wordpress.com/feed/'); 
$miniatureFeed->init(); 
?> 

然後在正文中顯示我有這提要:

<h3>My Quotation of the Day <a href="<?php print $quotationFeed->subscribe_url(); ?>"><img src="CommonImages/SocialMediaIcons/rss_16.png" class="rss16" /></a></h3> 
    <?php foreach ($quotationFeed->get_items(0, 1) as $item): ?> 
      <?php print('<blockquote id="quotation">' . $item->get_content() . '<br/><a href="' . $item->get_permalink() . '" style="float: right; padding-top: 2px; margin-top: 5px;">' . $item->get_title() . '</a></blockquote>'); ?> 
    <?php endforeach; ?> 
    <br /> 
    <h3>Now on Muskblog <a href="<?php print $muskblogFeed->subscribe_url(); ?>"><img src="CommonImages/SocialMediaIcons/rss_16.png" class="rss16" /></a></h3> 
    <ul> 
    <?php foreach ($muskblogFeed->get_items(0, 3) as $item): ?> 
     <li> 
      <a href="<?php print $item->get_permalink(); ?>"> 
      <?php print $item->get_title(); ?></a> 
     </li> 
    <?php endforeach; ?> 
    </ul> 
    <h3>Now on Musk's Miniatures <a href="<?php print $miniatureFeed->subscribe_url(); ?>"><img src="CommonImages/SocialMediaIcons/rss_16.png" class="rss16" /></a></h3> 
    <ul> 
    <?php foreach ($miniatureFeed->get_items(0, 3) as $item): ?> 
     <li> 
      <a href="<?php print $item->get_permalink(); ?>"> 
      <?php print $item->get_title(); ?></a> 
     </li> 
    <?php endforeach; ?> 
    </ul> 

上面的工作很好,也許你需要做的工作分解成頭部和身體,我不是一個PHP的傢伙,我甚至不假裝堆棧溢出之一。很明顯,變量在PHP中的範圍要比單個代碼塊長,但我不知道變量保持多久。你似乎急於解除()你的。