ホームページ >ウェブフロントエンド >jsチュートリアル >PHP の htmlspecialchars と同等の機能を JavaScript で実現するにはどうすればよいですか?

PHP の htmlspecialchars と同等の機能を JavaScript で実現するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-03 02:06:13208ブラウズ

How to Achieve the Equivalent of PHP's htmlspecialchars in JavaScript?

JavaScript PHP の htmlspecialchars と同等

JavaScript には、HTML 特殊文字を変換するための PHP の htmlspecialchars に直接類似した組み込み関数はありません。文字エンティティ。ただし、同様の結果を達成できるカスタム ソリューションもあります。

カスタム実装

1 つの方法は、各特殊文字を手動で変換するカスタム関数を定義することです。例:

function escapeHtml(text) {
  return text
      .replace(/&/g, "&")
      .replace(/</g, "<")
      .replace(/>/g, ">")
      .replace(/"/g, "&quot;")
      .replace(/'/g, "&apos;");
}

この関数は文字列を入力として受け取り、次の文字のすべての出現を対応する文字エンティティに置き換えます:

  • & - &
  • < - <
    • >
  • " - "
  • ' - '
  • パフォーマンスの向上

    特に大きなテキストのパフォーマンスを向上させるには、わずかに最適化されたバージョンを使用できます。

    function escapeHtml(text) {
      var map = {
        '&': '&amp;',
        '<': '<',
        '>': '>',
        '"': '&quot;',
        "'": '&apos;'
      };
      
      return text.replace(/[&<>"']/g, function(m) { return map[m]; });
    }

    このバージョンでは、ルックアップ テーブルを使用して文字エンティティ マッピングを保存するため、複数の置換操作が不要になります。

    以上がPHP の htmlspecialchars と同等の機能を JavaScript で実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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