JavaScript基础算法——Convert HTML Entities

182 阅读1分钟

要求

将字符串中的字符 &<>" (双引号), 以及 '(单引号)转换为它们对应的 HTML 实体。

样本

convert("Dolce & Gabbana") 应该返回 Dolce &​amp; Gabbana

convert("Hamburgers < Pizza < Tacos") 应该返回 Hamburgers &​lt; Pizza &​lt; Tacos

convert("Sixty > twelve") 应该返回 Sixty &​gt; twelve

convert('Stuff in "quotation marks"') 应该返回 Stuff in &​quot;quotation marks&​quot;

convert("Shindler's List") 应该返回 Shindler&​apos;s List

convert("<>") 应该返回 &​lt;&​gt;

convert("abc") 应该返回 abc

参考

解法

function convert(str) {
  // &colon;&rpar;
  var r='',htmlObj = {'&':'&amp;','>':'&gt;','<':'&lt;','"':'&quot;','\'':'&apos;'};
  str.split('').map(function(s){
    if(/^[>"<'&]/.test(s)){
      r+=htmlObj[s];
    }else{
      r+=s;
    }
  });
  return r;
}

convert("Dolce & Gabbana");

 

创作打卡挑战赛

赢取流量/现金/CSDN周边激励大奖