Antworten auf deine Fragen:
Neues Thema erstellen

[PHP] RSS Feed einlesen - Description Problem

ddjjmm

Nicht mehr ganz neu hier

Hallo zusammen,

ich möchte verschiedene RSS Feeds auf einer Seite mittels PHP einlesen und gestyled wieder ausgegeben. Mein Skript schaut aktuell wie folgt aus:

PHP:
<style type="text/css">
    #feedlist {}
    .feedblock { margin-bottom: 10px; }
    .feedblock-line {}
</style>

<div id="feedlist">

<?php
function ShowFeed($link) {
    $rss = new DOMDocument();
    $rss->load($link);
    $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);
    }
    
    echo '<div class="feedblock">';
    
    $limit = 5;
    for($x=0;$x<$limit;$x++) {
        $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
        $link = $feed[$x]['link'];
        $description = $feed[$x]['desc'];
        //$description = substr($description, 0, 200);
        
        $date = date('D F d, Y', strtotime($feed[$x]['date']));
        echo '<div class="feedblock-line"><a href="'.$link.'" title="'.$title.'">'.$title.'</a></div>';
        echo '<div class="feedblock-line">'.$date.'</div>';
        echo '<div class="feedblock-line">'.$description.'</div>';
    }
    echo '</div>';
}

ShowFeed('http://news.google.de/news?pz=1&cf=all&ned=de&hl=de&output=rss');
ShowFeed('http://rss.kicker.de/news/aktuell');
?>

</div>
Mein Problem: Je nachdem was für ein Feed es im Endeffekt ist, wird die Beschreibung unterschiedlich dargestellt. Beim google News Feed sind beispielsweise Bilder und Links in der Description vorhanden, bei Kicker nur reiner Text.

Endergebnis: Es soll lediglich Text ausgegeben werden oder ich möchte selbst steuern an welcher Stelle z.b. Bilder des Feed Artikels stehen sollen.

Lösungsansatz: Wie kann ich aus dem Description Block nur den Text ziehen oder die einzelnen Elemente hier separat ansprechen?
 

exo

Aktives Mitglied

AW:
PHP:
 RSS Feed einlesen - Description Problem[/b]

Hmm also wenn du HTML Blockieren willst kannst du es ja mal mit dem hier versuchen --> [url]http://de.php.net/manual/de/function.htmlentities.php[/url]
 

ddjjmm

Nicht mehr ganz neu hier

AW:
PHP:
 RSS Feed einlesen - Description Problem[/b]

Habe es nun mal wie folgt umgesetzt mit Hilfe der strip_tags Funktion:

[PHP]$description = strip_tags($description);

Das Problem ist nun noch: Bei vielen Feeds steht am Anfang noch ein Link/Bild etc. d.h. nach entfernen der HTML Tags steht dann vor dem Beschreibungstext: z.B. "Bundesliga.de"

Grundsätzlich frage ich mich, ob man nicht einfacher auf die RSS Feeds zugreifen kann? Ich muss doch variabel auf einer Website z.b. auch die Vorschau Bilder eines Feeds auslesen und darstellen können?
 

Duddle

Posting-Frequenz: 14µHz

AW:
PHP:
 RSS Feed einlesen - Description Problem[/b]

Es kommt eben darauf an, wie und was geliefert wird. RSS ist im Endeffekt ja nur ein XML-Dokument. Es gibt da soweit ich weiß keine Festlegung, in welchem Format die Inhalte gespeichert werden. HTML ist hier sinnvoll, da es ja im Browser angezeigt werden soll.

Falls du davon ausgehen kannst, dass tatsächlich immer nur HTML geliefert wird, musst du dieses [URL="http://php.net/manual/en/domdocument.loadhtml.php"]im DOM einlesen[/URL] und die Knoten wie gewünscht behandeln.



Duddle
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben