Hallo Leute,
ich habe ein sehr seltsames Problem mit PHP DOM. Beim Versuch dieses zu lösen, habe ich das Programm immer mehr verkleinert, was zu dem Resultat führte, das PHP irgendwelche XML Dokumente verändert, ohne das man damit etwas macht.
Genau gesagt habe ich ein Word-Dokument, was Bilder enthält, im XML-Format (WordML) gespeichert. Die Bilder werden Base64-Codiert mit in den Quelltext geschrieben.
z.B.
Wenn ich jetzt folgenden PHP-Code ausführe:
und die ergebniss.xml wieder in Word öffne, werden die Bilder nicht mehr angezeigt. Es entstehen statt dessen so eine Art Platzhalter mit einem roten X, so wie im Internet Explorer, wenn ein Bild nicht gefunden wurde.
Im Prinzip wird die Datei ja nur geöffnet und unverändert wieder gespeichert.
Jetzt kommt aber das noch seltsamere. Wenn ich nun in Ultraedit die XML-Datei einmal von UTF nach ASCII konvertiere, dann wieder von ASCII nach UTF und die Datei speicher, werden die Bilder wieder angezeigt. Nur alle anderen Sonderzeichen, Aufzählungspunkte und so, sind natürlich nicht mehr erkennbar.
Weiß jemand, woran das liegt und wie man das Problem löst?
Vielen, vielen Dank im Voraus
Schöne Grüße
Axel
ich habe ein sehr seltsames Problem mit PHP DOM. Beim Versuch dieses zu lösen, habe ich das Programm immer mehr verkleinert, was zu dem Resultat führte, das PHP irgendwelche XML Dokumente verändert, ohne das man damit etwas macht.
Genau gesagt habe ich ein Word-Dokument, was Bilder enthält, im XML-Format (WordML) gespeichert. Die Bilder werden Base64-Codiert mit in den Quelltext geschrieben.
z.B.
Code:
(...) <w:binData w:name="wordml://03000001.png">iVBORw0KGgoAAAANSUhEUgAAAXwAAAD+CAYAAAA56L6tAAAgAElEQVR4nOy9fWwUZ57v+9mjjvSU 5EjVkpG6JCO5ruCK8sIR3QtXcU84inuH1dAMq8U+jIQNOQJDVkmTjDJ2MkpsJpoBZ7QBT3QCJtoB OzohNlKIzWqZNKNlph0tTHd04LrRBbmQQFutG+tU6ca6XVKs24+EJd8/yq8x7zTYjp+P1ALXy1NP (...) </w:binData> (...)
PHP-Code:
$source = new DOMDocument('1.0', 'utf-8'); // Hier alles probiert. Auch ISO etc.
$source->load('datei.xml');
$source->save('ergebniss.xml');
Im Prinzip wird die Datei ja nur geöffnet und unverändert wieder gespeichert.
Jetzt kommt aber das noch seltsamere. Wenn ich nun in Ultraedit die XML-Datei einmal von UTF nach ASCII konvertiere, dann wieder von ASCII nach UTF und die Datei speicher, werden die Bilder wieder angezeigt. Nur alle anderen Sonderzeichen, Aufzählungspunkte und so, sind natürlich nicht mehr erkennbar.
Weiß jemand, woran das liegt und wie man das Problem löst?
Vielen, vielen Dank im Voraus
Schöne Grüße
Axel
Kommentar