afbeeldingen rss feeds uitlezen en op website tonen

Status
Niet open voor verdere reacties.

Martijn31

Gebruiker
Lid geworden
6 sep 2009
Berichten
362
Hallo Helpmij,

Ik ben bezig met een stukje code om de afbeeldingen uit verschillende nieuws feeds mee te laden als de afbeeldingen ook daadwerkelijk worden meegegeven door de bron van de feed.

Wat mij niet lukt zijn de afbeeldingen van andere nieuwssites zoals Ad, Volkskrant etc mee te laden. Met nu.nl gaat dat wel gemakkelijk
Bij de volgende code wordt de titel, discriptie etc netjes op mijn site weergeven

PHP:
<?php
  $doc = new DOMDocument();
  $doc->load('http://www.ad.nl/buitenland/rss.xml');
  $arrFeeds = array();
  $cnt=0;
  foreach ($doc->getElementsByTagName('item') as $node) {
      if($cnt == 5 ) {
       break;
     } 
    $itemRSS = 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,
      'enclosure' => $node->getElementsByTagName('enclosure')->item(0)->nodeValue
      );
      $cnt++;
?>

<h2><a href="<?php echo $itemRSS['link']; ?>"><?php echo $itemRSS['title']; ?></a></h2>
<p><?php echo $itemRSS['desc']; ?></p>
<img src="<?php echo $itemRSS['enclosure']; ?>">
<?php  } ?>

Helaas werken de afbeeldingen dan nog niet. hiervoor pas ik het volgende aan:
Code:
'enclosure' => $node->getElementsByTagName('enclosure')->item(0)->nodeValue

naar:

Code:
'enclosure' => $node->getElementsByTagName('enclosure')->item(0)->getAttribute('url')

Wat er dan gebeurt vind ik vreemd, bij het ad krijg ik een wit scherm. het blijkt dus niet te werken,
Wanneer ik de feed van Ad in nu.nl verander krijg ik netjes de plaatjes discriptie en titel wat erop duid dat de code klopt.

Hoe zorg ik ervoor dat ik de plaatjes van andere website's ook mee laad als dat nodig is? wat doe ik verkeerd?

Groetjes Martijn
 
Laatst bewerkt:
Ik ben er inmiddels achter gekomen waardoor de afbeeldingen niet laden bij het ad en wel bij nu.

in de bron van het ad zie ik geen tag enclosure staan. In tegenstelling tot de xml bron van nu.

het ad gebruikt de tag media:content en media:thumbnail volgens mijn theorie zou dit dan moeten werken:

PHP:
'enclosure' => $node->getElementsByTagName('media:content')->item(0)->getAttribute('url')

of:
PHP:
'enclosure' => $node->getElementsByTagName('media:thumbnail')->item(0)->getAttribute('url')

Helaas werkt geen van beide omdat php die dubbele punt niet snapt.
iemand een idee?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan