使用JavaScript转换HTML实体(RegExp)

时间:2015-11-29 22:28:39

标签: javascript regex

我写了以下代码:

function convert(string) {
  var before = '&';
  var after= '&'; 
  var pattern = new RegExp(before, 'g');
  return string.replace(pattern,after);
}
convert("Dolce & Gabbana");

它运作得很好 - 返回Dolce & Gabbana。 对于多种模式,我怎么能通过一些循环来做到这一点,如下所示:

var multiple = {
    '&' : '&',
    '<' : '&lt;',
    '>' : '&gt;',
    '"' : '&quot;',
    '`' : '&apos;'
  };

1 个答案:

答案 0 :(得分:0)

您可以迭代多个对象,如下所示:

    function convert(string) {
       var multiple = {
        '&' : '&amp;',
        '<' : '&lt;',
        '>' : '&gt;',
        '"' : '&quot;',
        '`' : '&apos;'
      };
      for(var char in multiple) {
        var before = char;
        var after= multiple[char]; 
        var pattern = new RegExp(before, 'g');
        string = string.replace(pattern,after);    
      }
      return string;
    }