Hallo
ich kämpf seit 2 Tagen mit einem ernsthaften Problem und hoffe daa mir vllt hier jemand weiterhelfen kann..
ich will meine website 2 sprachig machen, bzw das ist mir auch schon gelungen, dazu hab ich ne XML datei die die deutschen und englischen inhalte bereit hält, und lese diese mit php aus...
XML:
<title>
<text>
<deu><![CDATA[Galerie]]></deu>
<eng><![CDATA[Gallery]]></eng>
php:
if ($lang == "deu"){
echo $xml->title[0]->text[0]->deu[0];
} else {
echo $xml->title[0]->text[0]->eng[0];
}
das klappt soweit auch 100%, in größeren Textbereichen hab ich dann bei deutsch natürlich sonderzeichen, bzw teilweise auch links mit in der xml, sodass ich die grundsätzlich alle mit <![CDATA[Inhalt]]> umrandet hab das das ganze auch funktioniert...geht auch noch alles ohne stress...
allerdings wollt ich jetzt gern noch ne art mini cms einbauen, login usw klappt schon, nur wenn ich jetzt einen cdata bereich auslese, dann kommt der ja ohne die cdata, und wenn ich den dann erneut speichern will speichert er ihn ohne cdata und sieht dann so aus:
<deu>Galerie</deu>
in dem fall kein problem, wenn da allerdings n üö oder anderes sonderzeichen drin ist bringt er natürlich fehlermeldungen...
Meine Frage ist nun, ist es irgendwie möglich die cdata "unberührt" zu lassen beim speichern?
Hab auch schon versucht sie nachträglich im speichervorgang durch:
$xmlobj[0]->{$xmlnode} = "<![CDATA[".htmlspecialchars($xmlvalue)."]]>"
wieder anzufügen, aber dann wandelt er mir die in der xml zu zB:
<deu>&lt;![CDATA[Impressum]]&gt;</deu>
würd mir ja schon genügen da n grüßer und n kleiner zeichen aus dem &lt; zu bekommen...kriegs aber leider nicht hin...
wär echt dankbar für nen tip wies ichs hinkriegen kann, oder wo ichs nachlesen kann wär auch schon was, irgendwie scheint im gnazen netz der fall nicht beschrieben zu sein, oder ich formulier die suche falsch...