• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem beim einfügen von RSS Feed

mobby

Mitglied
Hallo Leute,

habe ein kleines Problem:

Ich habe in meine HP ein RSS Reader von RSS Include eingebunden.
Ddie Validierung gibt mir Fehler aus, die sich im Code dieses Readers befinden ... kann man das vernachlässigen, weil ich mein ... es funktioniert ja 1a ... ?!
Lass ich den Reader weg ist die Validierung OK!
 
Werbung:
Hallo,

fehler stehen doch da

- style tag dort nicht erlauibt (im body bereich)
- bild hat kein alt tag
- br / nicht erlaubt
usw

Cheffchen
 
Ja schon klar, ich kann den Fehler nur nicht beheben, da er vom Anbieter des Readers generiert wird und ich nur einen php code zum Einbinden bekomm.

Meine Frage ist eher: Sollt man da mal beim Support druck machen, dass die das ändern oder kann ich das getrost vernachlässigen?!

Weil meiner Meinung nach sind das keine wirklich relevanten Fehler in dem Bereich nur sieht halt scheiße aus wenn jemand die Validierung anschaut.

Sent from China with GT-I9505 using Tapatalk 2
 
Werbung:
Hallo,

also kannst das gerne versuchen aber glaube kaum das der support da was ändert, is ja nichts neues.
Was aber machen kannst das per php durch preg_replace() jagen und zb die <br /> ersetzen durch <br> oder bei bildern wenigstens ein leeres alt="" einfügen. das mit dem style könnte man auch raus filtern aber da ist die frage nutzen aufwand und wer soll das alles machen :O).

Cheffchen
 
@cheffchen:

Das klingt doch schon mal nach nem guten Ansatz. Das mach ich auf jeden Fall ... und bei dem style element ... das bleibt da. Nutzen Aufwand Verhältnis auf jeden Fall nicht gegeben. Top danke!

Sent from China with GT-I9505 using Tapatalk 2
 
Aeh kleiner Nachtrag:

Also was mir der Reader ausgibt, ist Folgendes:

PHP:
<?php @readfile("http://output99.rssinclude.com/output?type=php&id=699452&hash=d573c7e5b897d27ba4457d17012c1059"); ?>

Wenn ich das direkt über den Link aufruf und mir den Quelltext anschaue, dann sind die beschriebenen Fehler mit "<br/>" und "/>" gar nicht vorhanden ... sehr seltsam!!!

Wenn man doch ersetzen will, funktioniert das nicht ... weil das ganze Ding ja kein String ist ...

PHP:
$subject = '@readfile("http://output99.rssinclude.com/output?type=php&id=699452&hash=d573c7e5b897d27ba4457d17012c1059")';
$pattern = "<br />";
$replacement = "<br>";
echo preg_replace($pattern , $replacement , $subject);

How to solve this? Bzw. warum gibts den Fehler überhaupt, wenn der Quelltext des Links eigentlich richtig ist ?!?!?!?!?

I'm confused!
 
Werbung:
Hallo,

richtig ist immer ansicht, je nach doctype kann das richtig sein mit dem br, bei dir halt nicht.
das mit dem alt tag ist immer falsch egal was für ein doctype.

Wenn man doch ersetzen will, funktioniert das nicht ... weil das ganze Ding ja kein String ist ...
ja dann mach ein draus:
PHP:
$url="DIEURL";
$file = @fopen ($url,"r");

$data='';
while (!feof($file)) {
    $data.=fgets($file,2000);
}
$pattern[0] = '/\<br \/\>/';
$pattern[1] = '/\<img src/';
$replacement[0] = '<br>';
$replacement[1] = '<img alt="" src';
echo preg_replace($pattern , $replacement , $data);
nicht schön aber dürfte gehen, wenn valide bleiben möchtest.

Cheffchen
 
WoW! Funktionier super! Vielen Dank!
Füge ich den code mit dem entsprechenden Link ein, gibt es eine positive Validierung aus!

Jetzt nur noch eine Sache: Ich binde abhängig von der Sprache zwei unterschiedliche Feeds ein, greif ich das mit case ab gibt er aber wieder Fehler aus: hilfe!

PHP:
      <div class="main"> 
        <?php
		
		switch ($content_divs) {
			case "home":
			  echo "<div class='main_content'>" . $content[$id] . "</div>";
			  echo "<div class='main_news'>";			  
			  switch ($news) {
				case "de":
					$url="http://output99.rssinclude.com/output?type=php&id=699452&hash=d573c7e5b897d27ba4457d17012c1059";
				break;
					
				case "en":
					$url="http://output95.rssinclude.com/output?type=php&id=699813&hash=3af14777731e25414e89ee7645db7e8b"; 
				break;
				}
				
				$file = @fopen ($url,"r");

				$data='';
				while (!feof($file)) {
					$data.=fgets($file,2000);
				}
				$pattern[0] = '/\<br \/\>/';
				$pattern[1] = '/\<img src/';
				$replacement[0] = '<br>';
				$replacement[1] = '<img alt="" src';
				echo preg_replace($pattern , $replacement , $data); 
			  echo "</div>";
			break;
			
			default:
			  echo "<div class='main_content'>". $content[$id]. "</div>";
			break;
		}
		?>       
      </div>
 
Hallo,

das liegt am style block.
also musst nich eine pattern basteln die den style block löscht.

Cheffchen
 
Werbung:
Okay, dann lösch ich den ganzen style block raus und nehm den einfach in mein normales stylesheet mit auf. Die Formatierung der divs und styles bleibt ja eh immer gleich es ändert sich ja nur der Inhalt.
Ist aber trotzdem komisch ... binde ich deinen code ohne den wechsel mit case, also einfach, einmal ein ... dann erscheint auch der style block Fehler nicht mehr. Super strange! ^^

Sent from China with GT-I9505 using Tapatalk 2
 
Zurück
Oben