etherius Geschrieben 3. März 2007 Teilen Geschrieben 3. März 2007 Ich will mit dem Thread jetzt keine Grundsatzdiskussion starten ob man sowas macht oder nicht, damit das gleich vornerein klar ist. Das ist halt so und fertig. Ich habe eine XML Datei in der sämtliche Attribute und Inhalte base64_encoded sind. Die Datei wird per simplexml ausgelesen. danach soll durch das gesamte objekt durchgelaufen werden um alle attribute und inhalte zu base64_decode()n. Leider funktioniert meine Implementierung aber nicht und ich weiß nicht warum. Ich tippe drauf dass php die Referenzen irgendwie nicht mag... private function rec_base64_decode($base_element) { $attr = $base_element->attributes(); foreach ( $attr as &$attribute ) { $attribute = base64_decode($attribute); } $children = $base_element->children(); foreach ( $children as &$child ) { $this->rec_base64_decode($child); } return $base_element; }[/PHP] Jemand ne Idee? mfg Jan Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 3. März 2007 Teilen Geschrieben 3. März 2007 Hast du es denn schon mal ohne Referenzen probiert? foreach ($attr as $key => $attribute) { $attr[$key] = base64_decode($attribute); } [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etherius Geschrieben 3. März 2007 Autor Teilen Geschrieben 3. März 2007 Ohne Referenzen kann ich ja nix in das Element rein schreiben. Ich hab irgendwie das Gefühl dass ich im Endeffekt den kompletten Tree in ein array tree kopieren muss dann dürfte das funzen ... hmmmm Der Zerschießt mir mit den Referenten anscheinend den kompletten Object-Tree... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 4. März 2007 Teilen Geschrieben 4. März 2007 Hast du einen Blick auf den Codeschnipsel von mir geworfen? Der ändert den Wert ohne Refernzen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.