0

私たちの Web アプリケーションはコードを共有します。適切なコードを共有するために、次のように htmlEncode と htmlDecode を使用して、次のように http プロトコルを介して渡されるときにすべての htmlTags が適切に処理されるようにしました。

     htmlEncode = function (value) {
     if (value) {
         return $('<div />').text(value).html();
     }
     else {
         return '';
     }
 },
htmlDecode = function (value) {
    if (value) {
        return $('<div />').html(value).text();
    }
    else {
        return '';
    }
},

ユーザーがコード内でより多くのスペースを指定すると、単一のスペースに変換されます (もちろん、これは大きな問題ではありません)。

ただし、この種の実装の問題は、ユーザーがコード共有セクション内でEnterKeyを 2 回または 3 回クリックした場合、そのままではなく、次のように出力が 1 行になることです。

ユーザー入力: ここに画像の説明を入力

実際の出力 ここに画像の説明を入力

期待される出力 ここに画像の説明を入力

解決策はありますか?

4

1 に答える 1

0

これは、値に対して .text() を実行する効果とまったく同じであるため、予想されることです。この場合、 .text を使用すべきではないと思います

于 2013-02-27T10:20:22.140 に答える