これが問題です。ウェブサイトに正しく表示されるphpのhtmlentities()を使用してエンコードされたhtmlの「pre」タグがあります。
しかし、それを再デコードして「テキストエリア」に入れ、リアルタイムで操作したいと考えています。(たとえば、stackoverflow のように)。そして、変更されたこのテキストは、新しい情報とともに「pre」タグに (何度も) エンコードされます。
これを試しましたが、テキストエリアが常に空であるため、機能しないようです。これはコードです:
<script>
var t0=document.getElementById("textarea0"),
x0=document.getElementById('pre0');
t0.value=x0.innerHTML().html().text(); //dec
t0.onkeyup=function(){
x0.innerHTML=t0>.value.text().html(); //enc};
</script>
私はこのコードがどのように機能するかを本当に理解していません.jqueryは私の頭から離れているため、間違っていることはわかっています$('<div/>')
.エンコーディングの前にこれに関連する他の同様の質問を見ましたが、それが問題だとは思いません. (私はこれについて盲目であることを繰り返します)
(間違いが多すぎたらごめんなさい、私はあなたが推測できるように英語の作家ではありません、そして私は翻訳者を使用していません)
編集済み
最初の部分が機能するようになりました。Textarea は PRE のコンテンツで満たされ、<>
実際の作業のために (そのようなもので) デコードされます。
しかし、それを PRE に戻して、新しい変更を加えることはできません。
これが実際のコードです。
var t0=$("textarea#textareaName0"),
x0=$('pre#xmpName0');
t0.val(x0.text()); //dec
t0.keyup(function()
{
x0.innerHTML=t0.val(); //enc
});
解決策はありますか?(どうもありがとうございます)
最終的解決
コンテンツを更新するために機能するコードは次のとおりです。
t0.keyup(function()
{
x0.text(t0.val()); //enc
});
あなたが言ったように、jqueryは解釈されずに画面のHTMLに印刷できるので、それを避けるためにエンコーディングが必要です。どうもありがとう。