Sönke Tesch: Auto umwandlung von Sonderzeichen?

Beitrag lesen

ich habe ein kleines Problem mit php. Und zwar hab ich in einem String bestimmte Werte , unter anderem auch < > " usw.
Diese erstze ich mit einer Funktion in < > und "
Der String wird in eine XML Datei abgespreichert und soweit ist auch alles korrekt, lese ich nun diese Datei wieder ein, und lasse sie mit dem in PHP integrierten XML Parser wieder ausgeben, macht er mir aus &gt wieder > und aus " wieder ein ". Warum das denn?

Weil < ein < und > ein > darstellt. Der XML-Parser gibt Dir natürlich nicht die rohen XML-Daten zurück, sondern die echten, dekodierten. Genausowenig zeigt Dir Dein Webbrowser doch das ü eines HTML-Dokuments an, er zeigt das ü.

Merke:

  • Wenn Du in einer XML-Datei das Zeichen < speichern möchtest, dann musst Du < schreiben (genauso wie in HTML).

  • Wenn Du in einer XML-Datei den Text < speichern möchtest, dann musst Du &lt; schreiben (genauso wie in HTML).

Anders geht's nicht, weil < und > XML-Steuerzeichen sind und somit für Normalgebrauch maskiert werden müssen. Zum Einleiten einer Maskierung benutzt man das Und-Zeichen (&), d.h. auch das & ist ein Steuerzeichen und muß, wenn es für sich selbst stehen soll, ebenfalls maskiert werden.

Gruß,
  soenk.e