入力フィールドから読み取るときに 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 サイトの他の関連記事を参照してください。