htmlencode() および htmldecode() 関数を実装するための JavaScript の代替メソッドの分析例

高洛峰
リリース: 2016-12-06 15:11:53
オリジナル
1205 人が閲覧しました

この記事の例では、htmlencode() 関数と htmldecode() 関数を実装するための JavaScript の代替方法について説明します。詳細は次のとおりです。

最も一般的な方法は、HTML エンコード時にこのように置き換えるのが簡単です。一般的な <>& に加えて、©"® などの文字エンティティが多数あるため、HTML をデコードするときに使用するのは簡単ではないかもしれません。 AB 中国語や中国語など。Unicode でエンコードされた 10 進数または 16 進数の文字をすべて列挙するのは、時間がかかり非効率であるだけでなく、いくつかの文字を見逃しやすくなります。

function htmlencode(s){
  var div = document.createElement(&#39;div&#39;);
  div.appendChild(document.createTextNode(s));
  return div.innerHTML;
}
function htmldecode(s){
  var div = document.createElement(&#39;div&#39;);
  div.innerHTML = s;
  return div.innerText || div.textContent;
}
ログイン後にコピー

とても簡単です!

エンコードの原則は、TextNode ノードを作成し、それをコンテナーにアタッチしてから、コンテナーの innerHTML を取得することです。コンテナの innerHTML に文字列を追加し、innerText または textContent を取得します。

テストしてください:

入力パラメータが正当でない場合、効果は良好です。エンコードされた結果は、期待した結果が得られない可能性があります。

Google で検索したところ、cnblogs で私と同じ考えの記事が見つかりました。 =||= ですが、彼の htmldecode コード。それは間違っています

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!