1

アポストロフィ、引用符、アンパサンドなどの特殊文字を含むテキストを含む文字列があります。たとえば&#39、アポストロフィなどの代わりに表示するために、HTML 文字コードに変換したい (次のリストに従って: http://www .w3.org/MarkUp/html-spec/html-spec_13.html .

上記およびその他の基本的な文字が正しくエンコードされている限り、必ずしも文字とスペースを変換する必要はありません。

一時的な回避策として、次のような単純な置換を使用しますstr = str.replace("'", "&#39")が、特定の文字しかカバーしないため、これは避けたいと思います。

encodeURIまたはを考えencodeURIcomponentていましたが、必要以上にエンコードせずにこれを達成するための最良かつ最も簡単な方法を知りたいです。

これが動的に挿入される他の JS の問題を回避するという考えがある場合、誰かがここで何が最善の方法であるかを教えてもらえますか? ここで問題を引き起こす可能性のある一重引用符、二重引用符、およびその他の文字を考えていますか (JavaScript / jQuery および英語のみを参照) ?

4

1 に答える 1

1
function encodeEntities(value) {
    return $('<div />').text(value).html();
}
于 2014-09-06T18:00:41.560 に答える