转义文本以插入文档

时间:2014-03-18 23:44:16

标签: javascript regex escaping

我有动态生成的文本包含无效字符(&,<,>,“,”),我想将其写入htm / xml文档,保持文档有效。我应该使用regexps来匹配/ manualy替换文字,如下:

var s    = "<root>&&<h1>\"hello\"</h1>'world'</root>&&";
var re   = /[&<>"']/g;
var cmap = {
  "&": "&amp;", 
  "<": "&lt;", 
  ">": "&gt;", 
  '"': "&quot;", 
  "'": "&apos;"
};
var safe = s.replace(re, function (c) {return cmap[c];});

或创建包含'unsafe'字符串的textNode,例如:

var safe = document.createTextNode(s);

并将其添加到文档中:someElement.appendChild(safe)

0 个答案:

没有答案