美文网首页前端學習筆記让前端飞Web前端之路
FreeCodeCamp筆記之:Convert HTML Ent

FreeCodeCamp筆記之:Convert HTML Ent

作者: delphuy | 来源:发表于2017-10-12 11:28 被阅读25次

题目

将字符串中的字符&、<、>、"(双引号), 以及'(单引号)转换为它们对应的 HTML 实体。如果你被卡住了,记得开大招 Read-Search-Ask。尝试与他人结伴编程、编写你自己的代码。这是一些对你有帮助的资源:
RegExp
HTML Entities

function convert(str) {
  // &colon;&rpar;
  return str;}
convert("Dolce & Gabbana");

思路

  1. 意思是将str 里包含 & < > " ' 这 5个符号 的地方替换为html写法;
  2. HTML Entities 是个字典,里面有 符号的 html实体对照表;
    3.第一反应是用替换,用if 之类的判断;

解答

function convert(str) {
  // &colon;&rpar;
  var arr = str.split('');
  for (var i=0;i<= arr.length;i++){
      switch (arr[i]) {
      case '&':
        arr[i]="&amp;";
          break;
      case '<':
        arr[i]="&lt;";
        break;
      case '>':
        arr[i]="&gt;";
        break;
      case '"':
        arr[i]="&quot;";
        break;
      case "'":
        arr[i]="&apos;";
        break;
      }      
  }
  return arr.join('');
}
convert("Dolce & Gabbana");
  • 感觉脚本好长,突然想起 替换应该有个函数是 replace(),不过忘了怎么用,先学习一下;
function convert(str) {
  // &colon;&rpar;
str = str.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;').replace(/'/g,"&apos;");
return str;
}
convert("Dolce & Gabbana");
  • 这个简洁多了!

相关文章

网友评论

    本文标题:FreeCodeCamp筆記之:Convert HTML Ent

    本文链接:https://www.haomeiwen.com/subject/wuunyxtx.html