ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で入力フィールドから読み取るときに HTML エンコーディングを維持するにはどうすればよいですか?

JavaScript で入力フィールドから読み取るときに HTML エンコーディングを維持するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-24 12:43:15276ブラウズ

How Can I Preserve HTML Encoding When Reading from Input Fields in JavaScript?

入力フィールドから読み取るときに HTML エンコーディングを維持する

JavaScript を使用して隠しフィールドから値を抽出する場合、HTML エンコーディングが失われ、望ましくない文字列値が発生します。このような場合、元のエンコード形式を維持することが重要になります。

幸いなことに、文字列を HTML エンコードするためにいくつかのアプローチを使用できます。効果的な方法の 1 つは、DOMParser API を活用して、より最新で信頼性の高いソリューションを提供することです。

const encodedValue = new DOMParser().parseFromString(value, "text/html").body.textContent;

また、従来の互換性が必要な場合は、次の jQuery ベースの関数が同様の機能を提供します。

function htmlEncode(value) {
  return $("<textarea>").text(value).html();
}

function htmlDecode(value) {
  return $("<textarea>").html(value).text();
}

これらの関数は、非表示の textarea 要素を利用して文字列を操作します。 textContent を目的の値に設定すると、ブラウザはコンテンツを自動的に HTML エンコードします。その後、エンコードされた HTML は innerHTML プロパティを通じて取得できます。

HTML デコードの場合は、プロセスが逆に行われ、エンコードされた HTML が textarea の innerHTML として設定され、デコードされた textContent が取得されます。

これらの手法のいずれかを採用することで、元の値を保持したまま、入力フィールドから HTML エンコードされた値を抽出することができます。書式設定、正確な文字列表現を保証します。

以上がJavaScript で入力フィールドから読み取るときに HTML エンコーディングを維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。