2016-05-06 11 views
-2

Im Folgenden finden Sie meine aktuellen Code:PHP rss feed | Ich möchte wollen nur vier Ansagen zu einem Zeitpunkt angezeigt

<?php 
         $feed_url = '<link removed>'; 
         $xml_data = simplexml_load_file($feed_url); 

         $i=0; 
         foreach($xml_data->channel->item as $ritem) { 

         $e_title  = (string)$ritem->title; 
         $e_link  = (string)$ritem->link; 
         $e_pubDate  = (string)$ritem->pubDate; 
         $e_author  = (string)$ritem->author; 
         $e_content  = $ritem->children("content", true); 
         $e_encoded  = (string)$e_content->encoded; 
         $description = substr($e_encoded, 0, 350).'<a style="font-weight: bold;" href="' . $e_link . '"> ...Read More</a>'; 

         $n = ($i+1); 
         print "\n"; 
         print '<h5 class="font-accident-one-bold hovercolor uppercase" style="margin-bottom: 5px;"><a href="' . $e_link . '">'. $e_title .'</a></h2>'."\n"; 
         print '<p class="date" style="margin: 0px;">'. str_replace('+0000', '', $e_pubDate) .'</p>'."\n"; 
         print '<p style="margin: 0px;"> <strong>By '. str_replace('[email protected]', '', $e_author) .'</strong></p>'."\n"; 
         print '<p class="small" style="margin-top: 5px; padding-bottom: 5px;">'. $description .'</p>'."\n"; 

         $i++; 
         } 

ich den RSS-Feed von meinem XenForo Forum ziehen. Ich möchte nur vier Beiträge gleichzeitig anzeigen, da es für meine Seite natürlich zu viel wird, wenn mehrere Beiträge sichtbar sind. Ich möchte, dass nur die neuesten vier Beiträge angezeigt werden.

+0

Okay, gehen? Dann sortiere das Array nach dem neusten und ändere entweder die 'foreach' um zu brechen/stoppe nach dem 4-maligen Durchlauf oder ändere es in eine' for' Schleife. – Epodax

+0

Ich bin so ziemlich ein Anfänger bei PHP, also wenn Sie mir einen Beispielcode geben würden, würde ich mich freuen. – Scary

+0

Nein, 'foreach' und' for' Schleifen sind auch ziemlich einfach, und es ist einfach eine Frage von 4 zu zählen und dann die Schleife zu stoppen, versuchen Sie es. – Epodax

Antwort

0

Bruch zu vermeiden

$counter = 4; 

for(x=0; x= $counter; x++) 
{ 

//do something 
//make sure you dont pull same data four times. But try to fetch data one by one. So this loop works for you as this loop makes four rounds 
} 

oder benutzen fortsetzen.

Vergleichen Sie some wie dieses:

if($product_category>4) continue; 

Es wird die Kontrolle über die Schleife überspringen und vor

+0

Verwenden Sie nicht, um Schleifen zu beenden, verwenden Sie [break;] (http://php.net/manual/en/control-structures.break.php) – Epodax

+0

Ya, mein Schlechter. Ich habe den Code aktualisiert –

+0

Leider, nach dem Hinzufügen, dass, wie meine Seite Setup ist das Hinzufügen einer Pause macht mein Preloader "Pause", es wird nicht aufhören, meine GIF-Bild zu zeigen. – Scary