Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

XML entity-fehler trotz utf8_encode()

Hallo,
ich habe folgendes Problem: Das Script soll Links mit Beschreibung, Tags etc speichern. Soweit funktioniert alles super, nur tritt bei gespeicherten URIs mit einem "&" der folgende fiese Fehler auf:

Warning: main() [function.main]: unterminated entity reference

obwohl die URI per utf8_encode() umgewandelt wird. Habe es auch mal mit CDATA probiert, aber das Problem bleibt.
Hier der PHP-Teil:

Code:                   In Zwischenablage kopieren (nur IE)
1">

Hier der betroffende XML Teil:
Code:                   In Zwischenablage kopieren (nur IE)
2">

Die & sind als & amp; gespeichert, auch wenn es hier nicht angezeigt wird.
Ich sehe es schon kommen das ich etwas grundlegendes übersehen habe... Danke im vorraus für Eure Mühen.
Hier gehts zum Orginal Eintrag "XML entity-fehler trotz utf8_encode()" im Forum

Antworten

Hm... ein kleiner Tipp würde mir schon helfen, ich nehme auch einen Schlag in den Nacken :)


2.

Also ganz ehrlich sehe ich keinen Fehler, wenn du sagst, dass dein & auch ein & amp; ist.

Was du mit utf8_encode() machen möchtest verstehe ich erstmal aber nicht, in einer URL gibt es ja üblicherweise nichts, was es zu utf8-encoden gilt. Lass es testweise mal weg oder wende es erst auf die XML-Ausgabe an.


3.

Danke für die Antwort erstmal, damit kann ich offensichtliche fehler schonmal ausschliessen...
utf8_encode() soll die "&" - Zeichen kodieren, ansonsten gibt es auch einen fehler beim laden mit simplexml


4.

Zitat:
soul76 postete
utf8_encode() soll die "&" - Zeichen kodieren
Das wird nichts tun, da & in iso-8859-1 und utf-8 gleich aussieht.


5.

Nun ja, damit wird aus dem "&" ein "& amp;" - wenn es nur als "&" drinsteht gibt es ein fatal error, als "& amp;" nur ein warning. das ist schon ein unterschied...
Außerdem ist das frappante ja, das es an anderer stelle kein problem macht.

Wie kann ich ansonsten sonderzeichen am besten behandeln?


6.

Vielleicht um das Problem nochmal klarzustellen: Das XML- Dokument ist wohlgeformt und valide, da gibt es keine Probleme - man kann es z.B. direkt mit dem Browser aufrufen und es wird einwandfrei dargestellt - aber es gibt halt einen Fehler beim laden mit simplexml_load_file().


7.

Wer auch immer & in & umwandelt, utf8_encode() ist es nicht.

Wo passiert der Fehler eigentlich? Beim erzeugen des Dokuments per DOM oder danach beim Einlesen in simpleXML?


Hier gehts zum Orginal Eintrag "XML entity-fehler trotz utf8_encode()" im Forum
 
phpforum.de | Impressum | Handy Bundles