Explode funktioniert net!?

PHPer

Erfahrenes Mitglied
Hey Leute!

Ich habe mal nach nem einfachen XML Pharser gesucht und hier im Board folgenes Script gefunden:

Code:
<?php

  //Dies ist die Funktion, die öffnende Tags verarbeitet
  function startElement($parser, $element_name, $element_attribute) 
  {
     global $ausgabe;
     //Überprüfung des Elementnames
     if ($element_name=="<inhalt>") 
     {
        $ausgabe .= "Inhalt<p>";
     }
  }
  

//die ist die Funktion, die schließende Tags bearbeitet
function endElement($parser, $element_name) 
{
     global $ausgabe;
     // Überprüfung des Names eines Elementes
     if ($element_name=="</inhalt>") 
     {
        $ausgabe .= "</p>";
     }
}


//Hier werden reine Texte bearbeitet
function cdata($parser, $element_inhalt) 
{
     global $ausgabe;
     // Der normale Text wird an $ausgabe angehängt
     $ausgabe .= $element_inhalt;
}


$xmlFile = file("ER/lkal.xml");
$parser = xml_parser_create();
xml_set_element_handler($parser, "startElement", "endElement");
xml_set_character_data_handler($parser, "cdata");

foreach($xmlFile as $elem) 
{
    xml_parse($parser, $elem);
}
xml_parser_free($parser);

echo $ausgabe;
echo ("<BR>");

?>

Dieses Script liest die XML Datei aus und speichert alles in einem String. Sieht in meinem Fall so aus:

"Singles http://localhost/singles viktor0010 m w http://localhost/singles/00000001.jpg http://localhost/singles/viktor0010.html"

Diesen möchte ich nun weiter verarbeiten. Dazu möchte ich die einzelnen Daten in ein Array stecken. Also habe ich bei "echo $ausgabe" folgendes gemacht:

Code:
$ausgabe = explode(" ", $ausgabe);
echo $ausgabe[0];

Das "echo $ausgabe[0]" ist jetzt nur als Beispiel. Das Problem besteht nun darin, dass explode nicht wirklich richtig funktioniert. Es packt mir zwar den gesammten String in ein Array, aber den Gesammten auf Zahl [0], und nicht Teil für Teil durchnummeriert, wies eigentlich sein sollte. Pack ich jedoch die Ausgabe als Text bei explode rein statt $ausgabe, also,:

Code:
$ausgabe = explode(" ", "Singles http://localhost/singles viktor0010 m w http://localhost/singles/00000001.jpg http://localhost/singles/viktor0010.html");

dann funktioniert das wieder. Nur wenn da die Variable $ausgabe drin steht, machters nicht. Irgendwie ist das ganze etwas merkwürdig. Der Befehl split() versagt hier ebenfalls. Jemand ne Idee woran das liegen könnte bzw. was ich da falsch mach? :confused:

Danke Euch schonmal...
 
Eine Datei exploden? - Ist mir zumindest unbekannt.

erst auslesen einer Datei und in aeine Variable stecken:
PHP:
$dertext="Ich will exploden und komme nicht weiter";
$bombe=explode(' ',$dertext);

echo "$bombe[0]<br>";
echo "$bombe[1]<br>";
echo "$bombe[2]<br>";

Versuchs mal so
 
Hi,

meiner Meinung nach hast du mit
PHP:
$ausgabe = explode(' ',$ausgabe);
die Variable $ausgabe überschrieben bevor explode(); sie eingelesen hat. Ich meine mich erinnern zu können, dass explode(); so nicht arbeiten kann.

Gruß thing
 
Zurück