Seite 1 von 1

RSSFeed einbinden

Verfasst: 10.09.2004, 10:59
von Pretender
Moin Moin,
thema rssfeed:
ich weiss das hier schon einiges drüber geschrieben wurde aber eine antwort habe ich so direkt noch nicht gefunden: ich möchte ein rssfeed einbinden wofür es ja verschiedene möglichkeiten geben soll.

die eichachste sollte wohl sein einen script, z. B. diesen:

<?php
$rdffile = "https://openpr.de/rss.php";
$content = implode ("", file ($rdffile));
preg_match_all("|(.*)|Uism",$content, $items, PREG_PATTERN_ORDER);
for ($i=0;$i {
preg_match_all("|(.*)(.*)(.*)(.*)|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
echo "<a href='".$regs[5][0]."' target='_blank'>".$regs[1][0]."</a><br><br>".$regs[3][0]." <a href='".$regs[5][0]."' target='_blank'>weiter</a><br><br>\n";
}
?>

in eine php seite einzubinden.
kurz gesagt: ich habe dies eingebunden un bekomme ne fehlermeldung
" Parse error: parse error in /web/test.php on line 15 "
wenn ich die seite aufrufe. was in diesem fall die zeile " } " ist. allerdings denke ich das dies richtig ist. da ich jedoch nicht so der php held bin, kann ich damit nix anfangen. wer kennt sich aus und kann helfen?

Verfasst:
von

Verfasst: 10.09.2004, 11:18
von LinkPop
Schau mal hier:
for ($i=0;$i {
Diese Zeile ist unvollständig.

Es müßte so aussehen:

Code: Alles auswählen

 for &#40;$i=0;$i irgendwas;$i++&#41; &#123; 

Verfasst: 10.09.2004, 11:30
von Pretender
hmmmm
ich habe das von https://openpr.de/news/einbindungrssfeed.html

die schreiben da nix von . ich weiss net was ich da reinschreiben muss.

:(

Verfasst:
von

Verfasst: 10.09.2004, 11:39
von Pretender
preg_match_all("|(.*)(.*)(.*)(.*)|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);

in dieser zeile soll laut fehlermeldung was nicht stimmen.

Verfasst: 10.09.2004, 11:58
von /bin/false
Pretender hat geschrieben:preg_match_all("|(.*)(.*)(.*)(.*)|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);

in dieser zeile soll laut fehlermeldung was nicht stimmen.
schau dir den quelltext an: da hat jemand vergessen, htmlentities
zu benutzen :)

Code: Alles auswählen

<?php<br>
$rdffile = "http&#58;//openpr.de/rss.php";<br>
$content = implode &#40;"", file &#40;$rdffile&#41;&#41;;<br>
preg_match_all&#40;"|<item>&#40;.*&#41;</item>|Uism",$content, $items, PREG_PATTERN_ORDER&#41;;<br>

for &#40;$i=0;$i<count&#40;$items&#91;1&#93;&#41;;$i++&#41;><br>
&#123;<br>
  preg_match_all&#40;"|<title>&#40;.*&#41;</title>&#40;.*&#41;<description>&#40;.*&#41;</description>&#40;.*&#41;<link>&#40;.*&#41;</link>|Uism",$items&#91;1&#93;&#91;$i&#93;, $regs, PREG_PATTERN_ORDER&#41;;<br>
  echo "<a href='".$regs&#91;5&#93;&#91;0&#93;."' target='_blank'>".$regs&#91;1&#93;&#91;0&#93;."</a><br><br>".$regs&#91;3&#93;&#91;0&#93;." <a href='".$regs&#91;5&#93;&#91;0&#93;."' target='_blank'>weiter</a><br><br>\n";<br>

&#125;<br>
?>

Verfasst: 10.09.2004, 12:05
von LinkPop

Code: Alles auswählen

<?php 
$rdffile = "http&#58;//openpr.de/rss.php"; 
$content = implode &#40;"", file &#40;$rdffile&#41;&#41;; 
preg_match_all&#40;"|<item>&#40;.*&#41;</item>|Uism",$content, $items, PREG_PATTERN_ORDER&#41;; 

for &#40;$i=0;$i<count&#40;$items&#91;1&#93;&#41;;$i++&#41;
&#123; 
  preg_match_all&#40;"|<title>&#40;.*&#41;</title>&#40;.*&#41;<description>&#40;.*&#41;</description>&#40;.*&#41;<link>&#40;.*&#41;</link>|Uism",$items&#91;1&#93;&#91;$i&#93;, $regs, PREG_PATTERN_ORDER&#41;; 
  echo "<a href='".$regs&#91;5&#93;&#91;0&#93;."' target='_blank'>".$regs&#91;1&#93;&#91;0&#93;."</a><br><br>".$regs&#91;3&#93;&#91;0&#93;." <a href='".$regs&#91;5&#93;&#91;0&#93;."' target='_blank'>weiter</a><br><br>\n"; 

&#125; 
?> 
so, geht's ;-) thx

Verfasst: 10.09.2004, 12:17
von Pretender
jo das von linkpop geht. manmanman da schreiben die nen falschen code rein, ich halts ja wohl nicht aus. man kann doch nun nicht alles wissen :roll: na ok thx an alle *freu*

Verfasst: 12.09.2004, 21:14
von Pretender
moin moin,

also mit dem rssfeed in php format das klappt ja nun soweit. aber wie es nunmal so ist, je mehr man sich damit geschäftigt....

ich hab eine site gefunden, da wird ein rssfeed mit ner url angeboten, und zwar mit hat die url eine id endung ...../news.php?ressort_id=22 .

tja wenn ich diese url in den php code einbinde, passiert erstmal garnix.

hier den code:

<?php
$rdffile = "https://openpr.de/rss.php";
$content = implode ("", file ($rdffile));
preg_match_all("|<item>(.*)</item>|Uism",$content, $items, PREG_PATTERN_ORDER);

for ($i=0;$i<count($items[1]);$i++)
{
preg_match_all("|<title>(.*)</title>(.*)<description>(.*)</description>(.*)<link>(.*)</link>|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
echo "<a href='".$regs[5][0]."' target='_blank'>".$regs[1][0]."</a><br><br>".$regs[3][0]." <a href='".$regs[5][0]."' target='_blank'>weiter</a><br><br>\n";

}
?>

---------------------------------------------------
bei $rdffile = "https://openpr.de/rss.php"; <<<<--- habe ich nun die url eingefügt was sichlich grundlegend falsch ist :oops:

ich denke mal das dieser feed in einer xml version ist und das ich dafür einen anderen code benötige. aber welchen ist da meine frage?

wäre schön wenn ihr nochmal helfen könntet.

thx schon mal an alle php profis

Verfasst: 13.09.2004, 11:08
von LinkPop
Du kannst bei $rdffile = "..."; natürlich auch andere URLs einlesen lassen, das sollte nicht das Problem sein. Gib doch mal den URL an, welchen Du dort eingesetzt hast.

Verfasst: 13.09.2004, 11:44
von goldie
jo das von linkpop geht. manmanman da schreiben die nen falschen code rein, ich halts ja wohl nicht aus.
wende dich doch gleich an manute :wink:

greetz
martin

Verfasst: 13.09.2004, 14:39
von Pretender
moin moin

-----------------------neuer-code-anfang-----------------------

<?php
$rdffile = "https://www.news-ticker.org/news.php?ressort_id=09";
$content = implode ("", file ($rdffile));
preg_match_all("|<item>(.*)</item>|Uism",$content, $items, PREG_PATTERN_ORDER);

for ($i=0;$i<count($items[1]);$i++)
{
preg_match_all("|<title>(.*)</title>(.*)<description>(.*)</description>(.*)<link>(.*)</link>|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
echo "<a href='".$regs[5][0]."' target='_blank'>".$regs[1][0]."</a><br><br>".$regs[3][0]." <a href='".$regs[5][0]."' target='_blank'>weiter</a><br><br>\n";

}
?>
---------------------------neuer-code-ende----------------------------------------


hier habe ich nur den link "weiter" auf der site
bei dem "alte" code mit "alter" url klappt alles bestens!

---------------------hier-der-alte-code-------------------------
<?php
$rdffile = "https://openpr.de/rss.php";
$content = implode ("", file ($rdffile));
preg_match_all("|<item>(.*)</item>|Uism",$content, $items, PREG_PATTERN_ORDER);

for ($i=0;$i<count($items[1]);$i++)
{
preg_match_all("|<title>(.*)</title>(.*)<description>(.*)</description>(.*)<link>(.*)</link>|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
echo "<a href='".$regs[5][0]."' target='_blank'>".$regs[1][0]."</a><br><br>".$regs[3][0]." <a href='".$regs[5][0]."' target='_blank'>weiter</a><br><br>\n";

}
?>
----------------------------alter-code-ende------------------------------------

also bei dem oberen neuen code habe ich nur die url ausgewechselt was leider nicht funktioniert. ich dachte das es was eventuell mit der "id" zu tun haben könnte, bin mir jedoch nicht sicher.

:(

Verfasst: 13.09.2004, 16:47
von LinkPop
Nimm den:

Code: Alles auswählen

<?php 
$rdffile = "http&#58;//www.news-ticker.org/news.php?ressort_id=09"; 
$content = implode &#40;"", file&#40;$rdffile&#41;&#41;; 

preg_match_all&#40;"|<item>&#40;.*&#41;</item>|Uism",$content, $items, PREG_PATTERN_ORDER&#41;; 

for &#40;$i=0;$i<count&#40;$items&#91;1&#93;&#41;;$i++&#41; 
&#123; 
  preg_match_all&#40;"|<title>&#40;.*&#41;</title>&#40;.*&#41;<link>&#40;.*&#41;</link>&#40;.*&#41;<description>&#40;.*&#41;</description>|Uism",$items&#91;1&#93;&#91;$i&#93;, $regs, PREG_PATTERN_ORDER&#41;; 
  echo "<a href='".$regs&#91;3&#93;&#91;0&#93;."' target='_blank'>".$regs&#91;1&#93;&#91;0&#93;."</a><br><br>".$regs&#91;5&#93;&#91;0&#93;." <a href='".$regs&#91;3&#93;&#91;0&#93;."' target='_blank'>weiter</a><br><br>\n"; 
&#125; 
?> 

Verfasst: 13.09.2004, 20:55
von Pretender
oh man, oh man vielen dank

.$regs[3][0]." <a href='".$regs[5][0].
.$regs[5][0]." <a href='".$regs[3][0].

lag da der fehler?

Verfasst: 14.09.2004, 14:28
von LinkPop
Ja, mußte beim nächsten mal bissl testen. Ich hab auch die Reihenfolge hier (preg_match_all("|<title>(.*)</title>(.*)<link>(.*)</link>(.*)<description>(.*)</description>|...) geändert und dann unten ($regs[3][0]...usw.) angepasst.

Verfasst: 04.10.2004, 14:08
von Pretender
moin moin,

ich habe nun fast alle feeds zum laufen bekommen aber es gibt da so ein paar zähe burschen die wollen einfach nicht.

hier einer von denen
<!----------Beginn----------->

<?php
$rdffile = "https://schwanger.twoday.net/rss";
$content = implode ("", file ($rdffile));
preg_match_all("|<item>(.*)</item>|Uism",$content, $items, PREG_PATTERN_ORDER);
for ($i=0;$i<count($items[1]);$i++)
{ preg_match_all("|<title>(.*)</title>(.*)<link>(.*)</link>(.*)<description>(.*)</description>|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
echo "<a href='".$regs[5][0]."' target='_blank'>".$regs[1][0]."</a><br><br>".$regs[3][0]." <a href='".$regs[5][0]."' target='_blank'>weiter</a><br><br>\n"; }
?>
<!--------------------Ende-------------------->

wenn man sich die url anschaut, sieht man das die
<item rdf <--hier----

hinten ein rdf dran haben. mir ist aufgefallen, das ich feed mit diesem anhang nicht zum zum laufen überreden kann.

ich denke das im script dann vieleicht hier: ? for ($i=0;$i<count($items[1]);$i++)

was geändert werden muss aber ich weiß nicht genau was.
vieleicht kann sich das ja jemand diese sache nochmal anschauen? :roll: