Im Textarea ein Textarea....

Nessus

Mitglied
Hallo,

ich habe mir ein klitzekleinen Onlineeditor gebastelt, jetzt habe ich aber folgenden Bug:

Die Seite angelt bei Aufruf aus einer Datenbank HTML-/PHP-Code und stellt ihn in einem einfachen recht großen Textarea dar, und schreibt diese nach Absenden des Codes wieder in die Datenbank zurück
Auf einer Seite (ein Formmailer) exitiert auch ein Textarea.

Wenn jetzt die Seite im Quellcode in diesem Textarea zur Bearbeitung sichtbar ist, dann schließt das Textarea das im Quellcode bearbeitet werden soll das übergeordnete Textarea, so das der Code zerrupft wird, also praktisch nach dem ersten </textarea> schließt sich das übergeordnete Area, so das alle weiteren Elemente, wie Absendebuttons nicht mehr in der Quelltextanzeige sichtbar sind.

Ich hoffe, das ich mich einigermaßen verständlich ausgedrückt habe.....:-(
Und mir vor allem jemand den richtigen Tipp gibt, da ich echt auf dem Schlauch stehe ;-)

Vielen Dank;-)

Grüße

Chris
 
Du musst einfach den Inhalt des Textareas escapen/encoden. Dafür gibt es http://www.php.net/manual/en/function.htmlspecialchars.php

Dazu noch ein Zitat von selfhtml

Beachten Sie außerdem, dass innerhalb von <textarea> keine weiteren HTML-Elemente erlaubt sind. Sämtliche Zeichen, die in HTML eine Sonderbedeutung haben, wie <, > und &, müssen zwingend als Entity &lt;, &gt; und &amp; geschrieben werden
http://de.selfhtml.org/html/formulare/eingabe.htm#bereiche_vorbelegung
 
Hallo Nessus,

Generell ist es so, dass ein <textarea> - Tag kein weiteres <textarea> - Tag enthalten darf!

Ich würde an deiner Stelle beim Einlesen des Codes alle HTML-spezifischen Zeichen in Ihre "entschärfte" Schreibweise umsetzen, also:
&lt; statt <
&gt; statt >

Dieses machst du dann einfach beim Speichern rückgängig.
So kommen sich die einzelnen Tag's nicht sonderlich ins Gehege.

Gruß,
MeySolution

eidth: Ups da war jemand schneller...
 
Zuletzt bearbeitet:
Zurück