2

重複の可能性:
JavaScript /jQueryHTMLエンコーディング

私はJsonとしてクライアントに情報を渡し、JavaScriptコードからHTMLを生成しています。次のような画像のタイトルに渡すnameというフィールドがあります。

  html.push("<img  title='" + person.Name + "' src . . . 

問題は、person.Nameが「JoeO'Mally」であるかどうかです。これは、画像にカーソルを合わせると「JoeO」としてのみ表示されるためです(名前に「」が含まれているため)。

ページに正確な文字列を表示したい場所が他にもあるので、サーバーサイドの'を削除したくありません。

画像にカーソルを合わせると、画像のタイトルにフルネームが表示されるJavaScriptに相当するHttpUtility.HtmlEncodeはありますか?

4

2 に答える 2

11

いいえ、でも簡単に書くことができます。

function htmlEnc(s) {
  return s.replace(/&/g, '&amp;')
    .replace(/</g, '&lt;')
    .replace(/>/g, '&gt;')
    .replace(/'/g, '&#39;')
    .replace(/"/g, '&#34;');
}

私はそれをより速くする方法(基本的には1回の「置換」呼び出しで物事を行うため)で遊んだことがありますが、これはほとんどの目的、特に最新のブラウザーで十分に機能します。

于 2012-07-19T13:13:13.823 に答える
-2

これは、javascript の escape() および unescape() 関数の使用を説明する良い投稿です。これらは、あなたがやろうとしていることに役立つかもしれません。

于 2012-07-19T13:14:57.450 に答える