美文网首页前端學習筆記让前端飞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