code: function doAttr(str, isArticle, noHead) {
      //input:## Title {:.build width="200px"}
      //output: <h2 class="build" width="200px">Title</h2>
  
      str = str.replace(/<(\w+)([^>]*)>([^<]+)(\s+\{:([^\&].+)\})<\/\1>/gm, function(input, tag, pre, text, idinput, attrs) {
          var attr = parseAttr(idinput, attrs);
          attr = mergeAttr(pre, attr);
          return '<' + tag + ' ' + attr + '>' + text + '</' + tag + '>';
      });
      str = str.replace(/<(\w+)>([^<]+)<(\w+)>(.+)(\s+\{:\&amp;(.+)\})/mg, function(input, parentTag, parentText, childTag, childText, idinput, attrs) {
          var attr = parseAttr(idinput, attrs);
          return '<' + parentTag + ' ' + attr + '>' + parentText + '<' + childTag + '>' + childText;
      });
  
      return str;
  }
docs: 替换属性
  @param  {[type]}  str       [description]
  @param  {Boolean} isArticle [description]
  @param  {[type]}  noHead    [description]
  @return {[type]}            [description]