ホームページ > ウェブフロントエンド > jsチュートリアル > ユーザー生成コンテンツを一貫して表示するために JavaScript で HTML エンティティをエンコードする方法

ユーザー生成コンテンツを一貫して表示するために JavaScript で HTML エンティティをエンコードする方法

Susan Sarandon
リリース: 2024-10-31 07:08:30
オリジナル
781 人が閲覧しました

How to Encode HTML Entities in JavaScript for Consistent User-Generated Content Display?

JavaScript で HTML エンティティをエンコードする

ユーザーが作成したコンテンツを操作する場合、®、&、©、™ などのエンティティが表示されない場合がありますブラウザ間で一貫して。 JavaScript には、これらのエンティティを HTML でエンコードするためのメソッドがいくつか用意されています。

HTML エンティティへの変換

シンボルを対応する HTML エンティティに変換するには、次のコードを使用します。

<code class="js">var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&amp;]/g, function(i) {
   return '&amp;#'+i.charCodeAt(0)+';';
});</code>
ログイン後にコピー

上付き文字として表示

エンコードされたエンティティをカスタム スタイルで上付き文字として表示するには、CSS を使用します。

<code class="css">sup {
  font-size: 0.6em;
  padding-top: 0.2em;
}</code>
ログイン後にコピー

実装例

<code class="js">var regs = document.querySelectorAll('®');
for (var i = 0, l =regs.length; i < l; ++i ) {
  var div = document.createElement('sup');
  var text = document.createTextNode(encodedStr);
  div.appendChild(text);
  regs[i].parentNode.insertBefore(div);
}</code>
ログイン後にコピー

このコード:

  1. ® 記号が付いたすべての要素を選択します。
  2. sup 要素を作成し、選択した要素の前に追加します。
  3. エンコードされた HTML エンティティを sup 要素に追加します。

その他の考慮事項

  • UTF8 文字エンコーディングとデータベース ストレージを使用して、適切な表示を確保してください。
  • ブラウザのフォント設定は、特定の文字の外観に影響を与える可能性があります。

Documentation

  • String.charCodeAt : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt
  • HTML 文字エンティティ: http://www.chucke.com/entities。 html

以上がユーザー生成コンテンツを一貫して表示するために JavaScript で HTML エンティティをエンコードする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート