Hey Leute,
Ich spiel seid einiger Zeit mit xml rum, und habe jetzt ein Problem beim abspeichern eines neuen Eintrags per php. Ich beschreibe mal die wichtigsten Schritte der Reihe nach, und komm am Ende zum Problem. Als Beispiel-String hab ich ma "<p>Über alle Hügel und Käffer</p>" genommen:
Text wird empfangen:
Text wird(mit weiteren Daten) in einen string geschrieben:
Nun wird erst mal alles in utf-8 encodet:
String wird ins Objekt geladen:
So, und an dieser Stelle mekert er jetzt, wenn ichs später durchlaufen lasse, und kommt mit folgender Fehlermeldung:
Warning: DOMDocument::loadXML() [function.DOMDocument-loadXML]: Entity 'Uuml' not defined in Entity
Und ich hab keine Ahnung wieso der des macht. Vorher hatte ich den content in <![CDATA[ ... ]]> gestellt, da gings reibungslos, aber das musste ich jetzt aus anderen Gründen aufgeben.
Hab erst gedacht, dass des vll was mit dem utf8_encode() ding zu tun hat, hab dann allerdings festgestellt, dass man da auch utf8_decode hinschreiben, bzw es auch einfach weglassen kann, und das nix am Ergebnis, nämlich der Fehlermeldung, ändert (also die bleibt völlig gleich)
Ich hoffe ihr könnt mir helfen =)
Gruß, ChriS.
Ich spiel seid einiger Zeit mit xml rum, und habe jetzt ein Problem beim abspeichern eines neuen Eintrags per php. Ich beschreibe mal die wichtigsten Schritte der Reihe nach, und komm am Ende zum Problem. Als Beispiel-String hab ich ma "<p>Über alle Hügel und Käffer</p>" genommen:
Text wird empfangen:
PHP-Code:
$content = htmlentities(stripslashes($_POST['content'])); //<p>Über alle Hügel und Käffer</p>
PHP-Code:
$newxml = (
"<?xml version='1.0' encoding='UTF-8' ?>
\n<notes>
<title>$title</title>
<content>$content</content>
<timestamp>$timestamp</timestamp>
<category>$category</category>
</notes>\n
");
// <?xml version='1.0' encoding='UTF-8' ?>
// <notes>
// <title>test</title>
// <content><p>Über alle Hügel und Käffer</p></content>
// <timestamp>1195675391</timestamp>
// <category>Sonstiges</category>
// </notes>
Nun wird erst mal alles in utf-8 encodet:
PHP-Code:
$newxml = utf8_encode($newxml);
PHP-Code:
$new = DOMDocument::loadXML($newxml); // load new entry
Warning: DOMDocument::loadXML() [function.DOMDocument-loadXML]: Entity 'Uuml' not defined in Entity
Und ich hab keine Ahnung wieso der des macht. Vorher hatte ich den content in <![CDATA[ ... ]]> gestellt, da gings reibungslos, aber das musste ich jetzt aus anderen Gründen aufgeben.
Hab erst gedacht, dass des vll was mit dem utf8_encode() ding zu tun hat, hab dann allerdings festgestellt, dass man da auch utf8_decode hinschreiben, bzw es auch einfach weglassen kann, und das nix am Ergebnis, nämlich der Fehlermeldung, ändert (also die bleibt völlig gleich)
Ich hoffe ihr könnt mir helfen =)
Gruß, ChriS.
Kommentar