Hallo,
Der Text in der ursprünglichen HTML-Datei kann (nun) codierte Zeichen enthalten. Das sind sowohl besondere Schriftzeichen (bspw. der Form Ä),
aber auch Zeichenfolgen, die zur Darstellung nicht-latenischer Schriftzeichen verwendet werden.
Beispiel? Darunter kann ich mir nichts vorstellen, jedenfalls nichts, was nicht mit der Entity-Notation (ä bzw.: €) identisch wäre.
Die textarea zeigt solchen Text nicht codiert an, d.h. ein Zeichenwust in HTML ist dann ein Schriftzeichen in der textarea (wie bei Anzeige der HTML-Datei im Browser).
Ja, weil der Inhalt des TEXTAREA-Elements #PCDATA ist. PCDATA steht für _parsed_ character data.
Beim Abspeichern solcher Übergaben an das letztgenannte Script gehen die ursprünglichen Zeichen verloren. Sollen sie aber nicht.
Wandle sie zurück. In PHP existiert dafür htmlentities. Bitte auch die Nutzerkommentare lesen.
Frage:
Wie kann ich so codierten Text in der textarea uninterpretiert anzeigen lassen?
Das ginge auch. Das PHP darf eben nicht
<textarea name="Ta0" cols="50" rows="3">Das ist ein Test mit ä ö ü Ä Ö Ü €</textarea>
ausgeben, sondern müsste
<textarea name="Ta2" cols="50" rows="3">Das ist ein Test mit &auml; &ouml; &uuml; &Auml; &Ouml; &Uuml; &#x20ac;</textarea>
ausgeben. Auch das wäre mit htmlentities oder mit htmlspecialchars lösbar.
Da handelst du Dir aber neue Probleme ein. Was, wenn der Nutzer die Zeichenfolge € in der Textarea zerstört? Besser ist, Du lässt die Zeichen ä ö ü Ä Ö Ü € in der Textarea stehen und wandelst Sie nach der Übergabe mit PHP wieder in Entities zurück.
viele Grüße
Axel