2011-09-21 41 views
2

ブラウザのテキストエリアに生のテキストを表示するべきではありませんか?<textarea>はなぜ< >の代わりに表示されますか?

We can see the angled brackets around the script word

2 - 今のソースを見て:私たちは、スクリプトの単語の周りの角括弧が見ることができる

の1-:this postから次のスナップを見て、そして<script>タグに注意を払いますページ。投稿を編集する

We can see the angled brackets are represented by their HTML entities

3 - をクリックして、あなたは、角度付きブラケットがテキストエリアに表示されていることがわかります - はありません彼らのHTMLエンティティ:私たちは、角括弧は、そのHTMLエンティティで表現されている見ることができます:

We can see the angled brackets are visible in the textarea--NOT their HTML entities

、4-サーバー(私たちは編集をクリックした)からのXHRレスポンスを見て、私たちは、HTMLエンティティとNOT我々はテキストエリアに表示角度付きブラケットを見ることができます:

We can see the HTML entities and NOT the angled brackets we see in the textarea

投稿を編集するときに、テキストエリアに角括弧が表示され、HTMLエンティティは表示されないのはどうでしょうか?テキストは生のテキストを表示すべきではありませんか?私は自分のサイトでこれを試してみました。テキストエリアには、同じソースコードを持つHTMLエンティティが表示されます。

投稿ページには、codepreというタグが入っている場合でも、角かっこが表示されます。生のテキストとして出力されるべきではありませんか?私も自分のサイトでこれを試してみました。このページには、角カッコではなくHTMLエンティティが表示されています。

ここには何がありますか?

私のサイトで機能を実装するのに苦労しているので、私は尋ねています。エンコードされたエンティティを編集するときにエンコードされたエンティティを表示したいが、未処理のバージョンを保存したい。だからやったようですが、どうしていいか分かりません。

答えて

4

Character Data and Markupを参照し、CDATA sectionsをHTMLで考えてください(HTMLを完全に記述するには不十分ですが、DTDを参照してください)。

script(およびstyle)の要素は、そのようなCDATAの指定を持っていますが、textareaのものはありません。 </anythingようターミネータを防ぐために世話をし、それ(「エスケープ」)などのデータを格納それでも内部HTMLにCDATAセクションの外でエンコードされたHTMLに確認してください(と - </文字が完全であることを分離しなければなりませんHTMLでは合法です)。詳細については、CDATA vs PCDATAを参照してください。

ハッピーコーディング。

関連する問題