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

php Feed gestalten

Hubi

Neues Mitglied
Liebe HTML.de ler,

Ich habe eine stylefrage und freue mich, dass ich mich an euch wenden darf.

Es geht um ein RSS Feed Skript, welches einen externen Feed aufgreift und dessen Überschriften auf meiner Seite ein streamt. Das Skript benutzt eine cache.htm, in die es die Daten einspeichert. Die php Datei wird mittels Cronjob augerufen um Ladezeiten zu vermeiden:

PHP:
<?php
// RSS Objekt erzeugen
$rss = simplexml_load_file(
'http://www.battlefield-company.de/feed/');
// Ausgabe cachen (nicht auf den Bildschirm
// schreiben)
ob_start();
?>
<ul>
<?php
// RSS Elemente durchlaufen
$itemCounter = 5;
foreach($rss->channel->item as $i) {
  if(--$itemCounter < 0) {
    break;
  }
  
?>
    



<a href="<?=$i->link?>"><?=$i->title?></a>



   <?php
}
?>
</ul>
<?php
// Cache-Datei oeffnen
$cacheFile = fopen('cache.htm', 'w');
// Ausgabepuffer leeren; Inhalt in Datei und
// zur Kontrolle in Variable speichern
fwrite($cacheFile, $rssLinks = ob_get_clean());
// Datei schliessen
fclose($cacheFile);
// zur Kontrolle Cache-Inhalt anzeigen
var_dump($rssLinks);

?>
Laut Ausgabe sieht das Ding im Frontend so aus, wie hier zu sehen ist.

1. Schönheitsfehler:
Wie kann ich die hässlichen Umlautfehler wegbekommen (2 â€" = -)?
2. Schönheitsfehler:
Wie kann ich das Aussehen der Box so gestalten, dass ich 2 verschiedene Zeilenfarben habe? So wie hier.

Im Übrigen weiß ich, dass das irgendwie mit CSS geht, aber wie bei einem php Skript?

Die Cache html ist eine leere html datei, in diese wird nur der verlinkte Titel des Feeds rein gespielt.
Ich komme einfach nicht weiter; wäre gigantisch wenn mir da jemand unter die Arme greifen könnte.

Beste Grüße und vielen Dank für jede Hilfe,

Hubi :)

Edit: kann grade keine Anhänge hochladen, daher direkt im Beitrag.
 
Werbung:
Der Feed ist im Original mit UTF-8 als Zeichensatz versehen. Ich vermute mal, dass deine Seite das nicht ist. Das sagt auch dieser Hinweis im Handbuch:
PHP: simplexml_load_file - Manual
Dort findest Du auch eine Lösung. Eine andere wäre deine eigene Seite auf utf8 umzustellen.

PHP und CSS sind 2 völlig verschiedene Dinge. Du kannst aber mit PHP CSS-Code erzeugen und/oder diesen in den auszugebenden HTML-Code so einbetten, dass Du die gewünschte Formatierung erreichst. Beispiel:

PHP:
<a href="<?=$i->link?>" class="meineCSSklasse"><?=$i->title?></a>

In deinem Fall willst Du aber eine Liste ausgeben. Folglich würde ich mit PHP eine <ul>-Liste generieren die Du per CSS dann stylen kannst.
 
Zurück
Oben