JavaScript で HTML エンティティをエンコードする方法
問題:
ユーザーが入力されたテキスト、特定の記号はすべてのブラウザで正しく表示されない場合があります。これに対処するには、特定のシンボルを対応する HTML エンティティに変換し、スタイル設定のために sup タグで囲みます。
解決策:
JavaScript で HTML エンティティをエンコードするには、次のようにします。次のコードを使用します:
var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/g, function(i) {
return '&#'+i.charCodeAt(0)+';';
});
ログイン後にコピー
実装:
-
正規表現を使用:
- コードは正規表現を使用して、Unicode 範囲 u00A0 ~ u9999 の文字を HTML エンティティに置き換えます。
- また、アンパサンド、大なり、小なり記号も &、>、< に置き換えます。
-
HTML エンティティに変換:
- charCodeAt(0) メソッドは、 nnn; 形式の HTML エンティティを生成するために使用される文字。
-
sup タグで囲む:
- エンコード後、スタイル設定のために HTML エンティティを sup タグで囲むことができます。
注:
- 正しく表示されるようにするには、UTF8 文字エンコーディングを設定し、データベースが文字列を UTF8 で保存していることを確認してください。
- システムのフォント設定やその他の外部要因が原因で表示の問題が発生する可能性があります。
追加情報:
- [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 サイトの他の関連記事を参照してください。