JavaScriptでpreタグ内をエスケープしたサンプル

  

foo

このpreタグ内は
JavaScriptで置換されています。

ブラウザのソースコードを表示で確認してみてください。

var escapeHtml = (function (String) {
  var escapeMap = {
    '&': '&',
    "'": ''',
    '`': '`',
    '"': '"',
    '<': '<',
    '>': '>'
  };
  var escapeReg = '[';
  var reg;
  for (var p in escapeMap) {
    if (escapeMap.hasOwnProperty(p)) {
      escapeReg += p;
    }
  }
  escapeReg += ']';
  reg = new RegExp(escapeReg, 'g');
  return function escapeHtml (str) {
    str = (str === null || str === undefined) ? '' : '' + str;
    return str.replace(reg, function (match) {
      return escapeMap[match];
    });
  };
}(String));
var pre = document.querySelectorAll('pre');
for(var i = 0; i < pre.length; i++) {
  pre[i].innerHTML = escapeHtml(pre[i].innerHTML);
}