Hallo,
als relativer PHP-Neuling steh ich mittlerweile vor einer für mich unlösbaren Aufgabe... ;-)
Ich lese mittels PHP eine XML Datei aus. Dabei stosse ich auf zwei Probleme:
Eigentlich sollten nur die letzten 5 Einträge (mit den höchsten ID's) ausgegeben werden. Zum anderem wird mir (scheinbar) beim Einlesen in das Array die Textstruktur zerschossen. Das heisst in der XML gibt es ein Feld welches Umbrüche enthält. Die sollten auch dort bleiben...
Würde mich freuen, wenn mir jemand nach unzähligen und nächtlichen Stunden helfen könnte.
PHP-Code:
$daten = file_get_contents("/www/... .../xml/projektanfragen.xml"); // Datei einlesen
$daten = explode("<Projektanfragen>" , $daten); // Inhalt in ein Array zerlegen
$daten = array_slice($daten, 1);
for ($i=0; $i<5; $i++) {
foreach ($daten as $elem) {
ereg("<ID>(.*)</ID>" , $elem , $id);
$id = $id[1];
ereg("<Datum_x0020_start>(.*)</Datum_x0020_start>" , $elem , $xml[$id]["datum_start"]);
ereg("<Datum_x0020_ende_x0020__x0028_Laufzeit_x0029_>(.*)</Datum_x0020_ende_x0020__x0028_Laufzeit_x0029_>" , $elem , $xml[$id]["datum_ende"]);
ereg("<Katekorie>(.*)</Katekorie>" , $elem , $xml[$id]["katekorie"]);
ereg("<Titel>(.*)</Titel>" , $elem , $xml[$id]["titel"]);
ereg("<Beschreibung>(.*)</Beschreibung>" , $elem , $xml[$id]["beschreibung"]);
ereg("<Leistungsort>(.*)</Leistungsort>" , $elem , $xml[$id]["ort"]);
ereg("<Quelle>(.*)</Quelle>" , $elem , $xml[$id]["quelle"]);
ereg("<Status>(.*)</Status>" , $elem , $xml[$id]["status"]);
ereg("<Type>(.*)</Type>" , $elem , $xml[$id]["type"]);
//baut Array mit den Typs auf
$type[$xml[$id]["type"][1]]++;
}
}
if (is_array($xml)) {
krsort ($xml);
}
echo "<table width='180' border='0' cellspacing='2' cellpadding='0'>";
foreach ($xml as $key => $elem) {
// selektion ob Projekt noch offen
if ($elem['status'][1] == "offen") {
// Tabellenansicht
echo " <tr>";
echo " <td colspan='4' valign='top'><FONT size='-1' FACE='arial'><strong>".$elem['titel'][1]." </strong></td>\n";
echo " </tr>";
echo " <td valign='top' width='100'><FONT size='-2' FACE='arial'>Typ: ".$elem['type'][1]." </font></td>\n";
echo " <tr>";
echo " <td colspan='4' valign='top'><FONT size='-1' FACE='arial'> ".substr($elem["beschreibung"][1],0,80)."... </td>\n";
echo " </tr>";
echo " <tr>";
echo " <td valign='top' width='150'><FONT size='-2' FACE='arial'>Ort: ".$elem["ort"][1]." </td>\n";
echo " <td valign='bottom' align='left'><FONT size='-2' FACE='arial'> <a href=\"/index.php?option=com_content&view=article&id=12&jobid=".$key."\" target='_parent'>...mehr</a> </font><br><br></td>\n";
echo " <tr>";
}
}
echo "</table>";
?>
Vorweg schon mal herzlichen Dnak für eure Hilfe,
Tom