Seite 2 von 4

Re: Portal auf eigener Faust

Verfasst: 26.07.2010 00:47
von melowa
Hallo,
ich stehe nun vor einen neuen Problem, bezüglich dem RSS-FEED-Include.
Ich habe mit so manchen Scripten nun versucht die RSS-Feed aus dem Forum zu includen, erfolgslos. Es liegt wohl einfach daran das es keine eigentliche *xml Datei ist:

http://www.meine-url.de/forum/feed.php?mode=news

Hat evtl. jemand schonmal soetwas gemacht und kann mir bezüglich des Lesen und Ausgeben via PHP weiterhelfen?

Gruß, melowa

Re: Portal auf eigener Faust

Verfasst: 26.07.2010 08:24
von Frank1604
melowa hat geschrieben:Es liegt wohl einfach daran das es keine eigentliche *xml Datei ist
Nein, das denke ich nicht. Die Feeds lassen sich sehr gut auslesen, auch der Feed-Reeder hat keine Probleme. Die Dateiendung hat nichts damit zu tun, entscheidend ist was als Dokument ausgeliefert wird.

Re: Portal auf eigener Faust

Verfasst: 26.07.2010 08:51
von AmigaLink
Kann ich so leider nicht bestätigen Frank1604.
Ich hab mich nicht näher damit befasst, sondern nur ein paar Tests gemacht. Aber auch ich hatte Probleme mit mehreren PHP RSS-Reader Skripts sobald die Feed-Adresse keine .xml oder .rdf Endung hatte. Und die getesteten Feeds waren alle W3C geprüft. :-?
Nun könnte man das Problem, beim eigenem Board, evtl. mit MOD-Rewrite umgehen. Das ist aber, meiner Meinung nach, nicht die Ultimative Lösung.

Re: Portal auf eigener Faust

Verfasst: 26.07.2010 09:09
von Frank1604
Ich habe dieses Feeds schon öfters ausgelesen, Probleme sind dabei nie aufgetreten. Auch habe ich die Feeds mit meinem Feedreader aboniert, das funktioniert genauso gut.

Ich habe in meinem Forum auch einige Feeds, so zum Beispiel den hier: http://webdesign-kompetenz.de/feed.php?mode=news

Nimmt man jetzt so etwas hier:

Code: Alles auswählen

<?php
$quelle = $data = '';
$tmp_ary = $threads = array();

$quelle = @file('http://webdesign-kompetenz.de/feed.php?mode=news'); 
$data = implode ("", $quelle);

$tmp_ary = explode('<entry>', $data);
array_shift($tmp_ary);

foreach($tmp_ary as $thread)
{
    $threads[] = array(
            'TITLE'            => get_middle($thread, '<title type="html"><![CDATA[', ']]></title>', 0),
            'AUTHOR'        => get_middle($thread, '<author><name><![CDATA[', ']]></name></author>', 0),
            'CONTENT'        => preg_replace('#xml:base="(.*)"><\!\[CDATA\[#Uis','',get_middle($thread, '<content type="html" ', ']]></content>', 0)),
            'LINK'            => get_middle($thread, '<link href="', '"/>', 0),
    );


}
print_r($threads);

function get_middle($source, $beginning, $ending, $init_pos) {
    $beginning_pos = strpos($source, $beginning, $init_pos);
    $middle_pos = $beginning_pos + strlen($beginning);
    $ending_pos = strpos($source, $ending, $beginning_pos + 1);
    $middle = substr($source, $middle_pos, $ending_pos - $middle_pos);
    return $middle;
}
?>
erhält man ein Array "$threads" mit jeweils Autor, Titel, Link und Inhalt. Das reicht aus, um die Feeds darzustellen.
Hier in Live: http://webdesign-kompetenz.de/get_feed.php

Re: Portal auf eigener Faust

Verfasst: 26.07.2010 09:30
von AmigaLink
Prima Grundlage. Thx :)

Re: Portal auf eigener Faust

Verfasst: 26.07.2010 12:03
von melowa
Ist auf jeden Fall ein guter Anfang, aber sollte man bei soetwas nicht mit einem Cache (Dateibasierend[cache.txt]) lieber arbeiten?
Bezüglich Zugriffszeit.

Re: Portal auf eigener Faust

Verfasst: 26.07.2010 15:14
von AmigaLink
Bietet sich an und wenn die seite ins phpBB eingebunden ist, dann ist auch kein Problem den Cache des phpBB zu nutzen um den $tmp_ary Array zu Cachen. :)

Re: Portal auf eigener Faust

Verfasst: 26.07.2010 16:47
von melowa
Also ich habe nun doch ein anderes Script gefunden: SimplePie

Dokumentation (Installation): http://simplepie.org/wiki/setup/setup
Dokumentation (Einbindung): http://simplepie.org/wiki/setup/sample_page

Also ziemlich simple Installation, mit Cache und einfacher Einbindung.

Ich habe nun mein Feed: http://malorne-eternity.domainfactory-k ... ?mode=news eingebunden es aber nimmt komischer Weise: http://malorne-eternity.domainfactory-k ... m/feed.php und die Links sind kaputt, hat evtl jemand eine Lösung oder Ahnung woran das liegen könnte?

Re: Portal auf eigener Faust

Verfasst: 26.07.2010 17:01
von Frank1604
Keine Ahnung was diese Klasse macht. Was funktioniert denn an meinem Script nicht? Ich kanns gerne anpassen.

Re: Portal auf eigener Faust

Verfasst: 26.07.2010 17:09
von melowa
Frank1604 hat geschrieben:Keine Ahnung was diese Klasse macht. Was funktioniert denn an meinem Script nicht? Ich kanns gerne anpassen.
Dein Script funktioniert, bloss gibt es natürlich keinen Cache und ich denke mir es wäre ziemlich aufwendig selber einen einzubauen und meine PHP-Kenntnisse erlauben mir nicht zu erfahren warum bei der Ausgabe überall "Array ( [0] => Array ( [TITLE] =>" usw stehen. Ist das gewollt?