处理富文本格式化

1、处理富文本中图片宽高问题

/**
 * 处理富文本里的图片宽度自适应
 * 1.去掉img标签里的style、width、height属性
 * 2.修改所有style里的width属性为max-width:100%
 * 3.img标签添加style属性:max-width:100%;height:auto
 * 4.去掉
标签 * @param html * @return string */
export function formatRichText(html) { // 去掉img标签里的style、width、height属性 let newContent = html.replace(/]*>/gi, function(match, capture) { match = match.replace(/style="[^"]+"/gi, '').replace(/style='[^']+'/gi, ''); match = match.replace(/width="[^"]+"/gi, '').replace(/width='[^']+'/gi, ''); match = match.replace(/height="[^"]+"/gi, '').replace(/height='[^']+'/gi, ''); return match; }); // 修改所有style里的width属性为max-width:100% newContent = newContent.replace(/style="[^"]+"/gi, function(match, capture) { match = match.replace(/width:[^;]+;/gi, 'max-width:100%;').replace(/width:[^;]+;/gi, 'max-width:100%;'); return match; }); // 去掉
标签
newContent = newContent.replace(/]*\/>/gi, ''); // img标签添加style属性:max-width:100%;height:auto newContent = newContent.replace(/\/gi, '); return newContent; }

2、处理富文本中gt lt等乱七八糟的符号

处理富文本格式化_第1张图片

/* 
转富文本的HTML 
 */
export function stringHtmlFilter(str) {
  var s = '';
  if (str.length === 0) {
    return '';
  }
  s = str.replace(/&/g, '&');
  s = s.replace(/</g, '<');
  s = s.replace(/>/g, '>');
  // 空格展示
  //#ifdef MP-WEIXIN
  s = s.replace(/ /g, ' \xa0 ');
  //#endif
  //#ifdef H5
  s = s.replace(/ /g, ' \xa0 ');
  //#endif
  s = s.replace(/'/g, "'");
  s = s.replace(/"/g, '"');
  return s;
}

你可能感兴趣的:(富文本,前端)