Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
.rdf auslesen -> Array [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
.rdf auslesen -> Array


 
Sarah Huber
27-11-2001, 20:28 
 
Hi zusammen!
Hab' ein kleines Problem. Ich möchte eine .rdf Datei auslesen (hier heise.rdf) und diese in ein Array schreiben.
Bzw. ich möchte am liebsten Die Headlines in ein Array und die Links in ein anderes.
Leider bin ich ziemlich unbegabt was das anbetrifft. Wär wirklich froh, wenn mir jemand das erklären könnte!
Vielen Dank!
Sarah

 
Sky
27-11-2001, 20:33 
 
Bin auch unbegabt - was ist denn RDF für ein Dateiformat?

 
Sarah Huber
27-11-2001, 21:16 
 
.rdf ist ein XML-Datei
siehe unten:

"Heise-Newsticker auf Ihrer Homepage

Wir gestatten anderen Websites (widerruflich) die kostenfreie Übernahme unserer News-Headlines mit aktiven Links auf unsere News-Artikel. Diese dürfen jedoch nicht in Frames dargestellt werden, sondern müssen ein neues Browser-Fenster öffnen. Sie können bei der Übernahme der Überschriften auf die Datei http://www.heise.de/newsticker/heise.rdf zurückgreifen. Sie enthält die Überschriften und Links im XML-Format. Sie können diese Datei mit einem Script auswerten und eine eigene Zusammenstellung produzieren.
Bitte übernehmen Sie nicht die kompletten Newsticker-Meldungen, sondern nur die Überschriften."

thanks

 
Sky
27-11-2001, 21:26 
 
Hm, hab leider keine Zeit mehr - ich kümmere mich morgen um die Lösung, falls es bis dahin noch kein anderer getan hat. Falls du dich selbst daran machen möchtest, empfehle ich dir ereg / preg_match.

EDIT: Oder natürlich die XML-Funktionen... Mit denen kenne ich mich allerdings nicht besonders gut aus *schäm*

[Editiert von Sky am 27-11-2001 um 21:30]

 
Sarah Huber
28-11-2001, 15:37 
 
Danke für deine -hoffentlich- zukünftige Hilfe.
Kenne XML überhaupt nicht und in PHP bin ich auch nicht wirklich bewandert, darum wäre ich um Unterstützung froh!
Besten Dank im Voraus und "küsschen"
Sarah

 
Sky
28-11-2001, 19:38 
 
<?php

$file = 'http://www.heise.de/newsticker/heise.rdf';

$f = fopen($file,'r');
$blub = fread($f,65535);
fclose($f);

$p = xml_parser_create();
xml_parse_into_struct($p,$blub,$values,$index);
xml_parser_free($p);

$pointer = 0;

for ($i=0;$i<=sizeof($values);$i++) {
if ($values[$i][tag]=='TITLE') {
$linktitle[$pointer] = $values[$i][value];
}

if ($values[$i][tag]=='LINK') {
$linkurl[$pointer] = $values[$i][value];
$pointer++;
}
}

for ($i=1;$i<=sizeof($linktitle);$i++) {
echo '<a href="'.$linkurl[$i].'">'.$linktitle[$i].'</a><br>';
}

?>


$linktitle und $linkurl sind die Arrays, die du benötigst.

Da die beiden Container Title und News auch einmal in einem anderen Kontext vorkommen und ich keine Rücksicht auf den Parent-Container nehme, solltest du aber das 1.Element der Arrays (Index 0) vernachlässigen und stattdessen beim 2.Element (Index 1) anfangen, wie es in meiner Beispielschleife bereits gemacht wird (siehe Fettdruck).

 
Sarah Huber
27-12-2001, 20:51 
 
Danke für die Hilfe... hat auch bestens geklappt - Nur:
wenn ich das ganze in ein JavaScript Array bzw. 2 einbinden möchte, klappt das ganze gar nicht.
Wie krieg ich die beiden Arrays in JavaScriptArrays?!?
Danke
Sarah

 
Sky
27-12-2001, 21:14 
 
hmmm...

echo '
<script language="JavaScript">
<!--
var linkurl = new array();
var linktitle = new array();
';

for ($i=1;$i<=sizeof($linktitle);$i++) {
echo "
linkurl[$i] = \"$linkurl[$i]\";
linktitle[$i] = \"$linktitle[$i]\";
";
}
echo "//-->\n</script>";

 
Sarah Huber
27-12-2001, 21:38 
 
Danke für die Hilfe

Ich strande, aber immer noch am selben Fehler!

Warning: Array to be filled with values must be passed by reference

Weiss jemand Rat?
Thanks

 
Sky
27-12-2001, 21:43 
 
Hättest das halt gleich gesagt... :rolleyes:

xml_parse_into_struct(&$p,&$blub,&$values,&$index);

 
Sarah Huber
27-12-2001, 21:47 
 
tja... bin halt blond...
soll ich jetzt noch fragen wo das jetzt hin gehört?!
Hab' jetzt nämlich keine Ahnung mehr...

 
Sky
27-12-2001, 21:55 
 
lol :D

Anstelle dieser im Code weiter oben:

xml_parse_into_struct($p,$blub,$values,$index);

muss es heißen:

xml_parse_into_struct(&$p,&$blub,&$values,&$index);

 
Pseudomizer
21-11-2003, 14:26 
 
Danke für das Script für die Heise News in PHP. Good Job !!!

Gruß,

Pseudomizer


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:00 Uhr.