Sven Rautenberg: Ein Formular in der Textarea eines Formulars speichern..

Beitrag lesen

Hallo Sven,

Aber klar. Wenn du den Quelltext der Seite in die Editier-Textarea schreibst, musst du alle HTML-eigenen Sonderzeichen (<, >, &) maskieren (<, > &). Dazu gibts die Funktion htmlspecialchars(). Der Browser zeigt dann alle Zeichen als wirkliches Zeichen an.

Ohne diese Wandlung zeigt der Browser HTML-Tags nur durch Zufall als bearbeitbaren Text an - eigentlich müsste er die Tags verschlucken.

das heißt ja, dass man den text nicht einfach aus einer Datei mit readfile() an die Textarea ausgeben kann. Da muss cih das Ding also vorher mit fread()in eine Variable einlesen, die mit htmlspecialchars() bearbeiten und dann mit echo ausgeben. Iat das so der richtige Weg?

Genau.

Immer unter der Annehme, dass nicht sowieso alles in einer DB steht...

Die Datenbank hilft dir da absolut nicht! Entscheidend ist, dass du korrektes HTML ausgibst. Und sowas ist eben nicht korrekt (bzw. für die Verarbeitung höchst gefährlich:
<textarea><b>Fetter Text</b><form><textarea>Value der Textarea</textarea></textarea>

Besser:
<textarea><b>Fetter Text</b><form><textarea>Value der Textarea</textarea></textarea>

Laut HTML-Standard darf <textarea> keinerlei weitere HTML-Tags enthalten. Insofern ist die erste Variante sowieso invalide, und der Browser kriegt es, weil die Tags keine Gültigkeit haben, dann hin, stattdessen den HTML-Quelltext zu zeigen. Ist aber reine Glückssache (und wenn <textarea> als Text vorkommt, zerhaut es eben die Seite).

- Sven Rautenberg