Hallo miteinander
Nachdem ich einen RSS Feed mit dem Nachrichten Modul erstellt hatte, war dieser mit dem Browser Safari nicht zu öffnen. Firefox öffnete ihn ohne Probleme.
Nach einem W3C Check des Feeds konnte ich folgende Ursache lokalisieren:
Also ein CDATA Tag im CDATA Tag welcher den Feed nicht mehr validieren lässt...
Der "innere" CDATA Tag stammt aus der Videobox Erweiterung. Genaugenommen aus dem Template. Ich hab mir einstweilen beholfen indem ich die CDATA Tags aus dem Videobox-Template entfernt habe.
Weiters bleibt jetzt noch eine Empfehlung auf der W3C Seite zurück. Das script tags im rss auch nichts zu suchen hätten... (siehe Anhang)
Sollte man in der Feed Klasse im Core speziell solche Tags rausfiltern?
Feed.php (Zeile 138)
zusätzlich erweitern mit:
Da diese Tags sowieso in einem Feed nichts zu suchen haben würd ich die Stelle am besten finden.
Nur mal ein Vorschlag? Vielleicht gibt auchnoch nen anderen Weg, den ich gerade übersehe.
mfg, tom
Nachdem ich einen RSS Feed mit dem Nachrichten Modul erstellt hatte, war dieser mit dem Browser Safari nicht zu öffnen. Firefox öffnete ihn ohne Probleme.
Nach einem W3C Check des Feeds konnte ich folgende Ursache lokalisieren:
HTML-Code:
<description><![CDATA[<p>Recently I.... blabla .... <script><![CDATA[ ... script ...]]></script> </p>]]></description>
Der "innere" CDATA Tag stammt aus der Videobox Erweiterung. Genaugenommen aus dem Template. Ich hab mir einstweilen beholfen indem ich die CDATA Tags aus dem Videobox-Template entfernt habe.
Weiters bleibt jetzt noch eine Empfehlung auf der W3C Seite zurück. Das script tags im rss auch nichts zu suchen hätten... (siehe Anhang)
Sollte man in der Feed Klasse im Core speziell solche Tags rausfiltern?
Feed.php (Zeile 138)
PHP-Code:
$xml .= ' <description><![CDATA[' . preg_replace('/[\n\r]+/', ' ', $objItem->description) . ']]></description>' . "\n";
PHP-Code:
str_replace(array("<![CDATA[","]]>"),array("",""),$objItem->description);
preg_replace('/<script.*<\/script>/','',$objItem->description);
Nur mal ein Vorschlag? Vielleicht gibt auchnoch nen anderen Weg, den ich gerade übersehe.
mfg, tom


Kommentar