ホームページ > 記事 > ウェブフロントエンド > htmlencode() および htmldecode() 関数を実装するための JavaScript の代替メソッドの分析例
この記事の例では、htmlencode() 関数と htmldecode() 関数を実装するための JavaScript の代替方法について説明します。詳細は次のとおりです。
最も一般的な方法は、HTML エンコード時にこのように置き換えるのが簡単です。一般的な a8093152e673feb7aba1828c43532094& に加えて、©"® などの文字エンティティが多数あるため、HTML をデコードするときに使用するのは簡単ではないかもしれません。 AB 中国語や中国語など。Unicode でエンコードされた 10 進数または 16 進数の文字をすべて列挙するのは、時間がかかり非効率であるだけでなく、いくつかの文字を見逃しやすくなります。
function htmlencode(s){ var div = document.createElement('div'); div.appendChild(document.createTextNode(s)); return div.innerHTML; } function htmldecode(s){ var div = document.createElement('div'); div.innerHTML = s; return div.innerText || div.textContent; }
とても簡単です!
エンコードの原則は、TextNode ノードを作成し、それをコンテナーにアタッチしてから、コンテナーの innerHTML を取得することです。コンテナの innerHTML に文字列を追加し、innerText または textContent を取得します。
テストしてください:
入力パラメータが正当でない場合、効果は良好です。エンコードされた結果は、期待した結果が得られない可能性があります。
Google で検索したところ、cnblogs で私と同じ考えの記事が見つかりました。 =||= ですが、彼の htmldecode コード。それは間違っています
。