PHP の HtmlSpecialChars と同等の JavaScript
PHP では、htmlspecialchars 関数を使用して、<、> などの特殊文字をエンコードします。 & を HTML エンティティに変換します。たとえば、
JavaScript には、htmlspecialchars の動作を正確に再現する組み込み関数がありません。これに最も近いのは、次の手順を実行するカスタム関数を使用することです。
このような関数の実装例の 1 つは次のとおりです。
function escapeHtml(text) { return text .replace(/&/g, "&amp;") .replace(/</g, "&lt;") .replace(/>/g, "&gt;") .replace(/"/g, "&quot;") .replace(/'/g, "&#039;"); }
この関数は、指定された特殊文字の出現をすべてエスケープします。ただし、次のことが重要です。たとえば、URL 内のスペースを表すために使用できる「 」文字はエスケープされないことに注意してください。
特に大きなテキスト ブロックの場合、パフォーマンスを向上させるには、次のようにします。ルックアップ テーブル アプローチを使用できます。
function escapeHtml(text) { var map = { '&': '&', '<': '<', '>': '>', '"': '"', "'": '&#039;' }; return text.replace(/[&<>"']/g, function(m) { return map[m]; }); }
このアプローチにより、必要な文字列操作の量が減り、パフォーマンスが向上します。
以上がJavaScript で HTML 特殊文字を効果的にエスケープする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。