Moin!
Fazit für mich ist, dass es wohl nicht ausreichend sein dürfte, die Nachricht bloß auf das "<" hin abzusuchen.
Das viel grundlegendere Fazit dürfte sein, dass du dich entscheiden mußt.
Eine Textarea nimmt ASCII-Text entgegen. Naja, sicherlich auch Unicode - das wandelt der Browser dann vermutlich irgendwie beim Abschicken um.
Aber welche _Bedeutung_ der Text haben soll, den der Benutzer eingibt, das mußt du entscheiden. Du kannst sagen, dass der eingegebene Text _unformatiert_ sein soll. Das ist der simpelste Fall. Dann werden alle Zeichen 1:1 wieder im Browser dargestellt, was bedeutet, dass du HTML-Sonderzeichen in Entities wandeln mußt, damit diese als Zeichen dargestellt werden.
Oder du sagst, dass der Text HTML-Quellcode sein soll. Dann darfst du die HTML-Sonderzeichen natürlich _nicht_ codieren, sondern mußt sie so belassen. Wenn der Autor dann aber ein < oder ein & im Text als _Zeichen_ verwenden will, muß er das in die Textarea als Entity < oder & eingeben. > muß nicht zwingend als $gt; eingegeben werden, es ist aber schöner so.
Eine Mischform beider Textarea-Bedeutungen geht nicht. Es ist schlicht nicht sauber zu trennen, ob der Benutzer jetzt <b> als Fettschrift meinte, oder ob er den HTML-Quellcode schreiben wollte. Das ist insbesondere bei HTML-Hilfeforen spannend. :)
Die Krücke, die als BB-Code bekannt geworden ist: Man nimmt eine im täglichen Leben noch unwahrscheinlichere Zeichenkombination wie [b], um Fettschrift zu aktivieren. Das verhindert natürlich, dass man diese drei Zeichen als Text verwenden kann.
Eine Textarea ist eben kein WYSIWYG-Editor.
- Sven Rautenberg
ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|