你可以使用正则表达式和JavaScript来删除字符串标签的所有属性样式,并删除font标签和span标签。然后,你可以使用JavaScript将img标签的src链接转换为base64格式。

下面是一个示例代码:

// 删除字符串标签的所有属性样式
function removeAttributesStyles(str) {
  return str.replace(/<[^>]+>/g, function(match) {
    return match.replace(/(\S+=['"][^'"]+['"]\s*|\S+=\S+\s*|\s*style\s*=['"][^'"]+['"]\s*|\s*style\s*=\S+\s*|class=['"][^'"]+['"]\s*|\s*class=\S+\s*)/ig, '');
  });
}

// 删除font标签和span标签
function removeFontAndSpanTags(str) {
  return str.replace(/<\/?(font|span)[^>]*>/ig, '');
}

// 将img标签的src链接转换为base64格式
function convertImgSrcToBase64(str) {
  return str.replace(/<img[^>]+src=['"]([^'"]+)['"][^>]*>/ig, function(match, src) {
    var xhr = new XMLHttpRequest();
    xhr.open('GET', src, false);
    xhr.send();
    if (xhr.status === 200) {
      var base64 = btoa(xhr.responseText);
      return '<img src="data:image;base64,' + base64 + '">';
    }
    return match;
  });
}

// 示例用法
var htmlString = '<div style="color: red;"><font size="5">Hello</font> <span style="font-weight: bold;">World</span> <img src="https://example.com/image.jpg"></div>';

var removedAttributesStyles = removeAttributesStyles(htmlString);
var removedFontAndSpanTags = removeFontAndSpanTags(removedAttributesStyles);
var convertedImgSrcToBase64 = convertImgSrcToBase64(removedFontAndSpanTags);

console.log(convertedImgSrcToBase64);

在上面的示例中,我们首先使用removeAttributesStyles函数删除字符串中标签的所有属性样式。然后,使用removeFontAndSpanTags函数删除font标签和span标签。最后,使用convertImgSrcToBase64函数将img标签的src链接转换为base64格式。

请注意,上面的代码中使用了XMLHttpRequest来获取图片的内容并转换为base64格式。这可能会导致跨域问题。如果你需要处理跨域图片,你可能需要使用其他方法来获取图片内容并转换为base64格式

js 删除字符串标签的所有属性样式并且删除font标签span标签但是保留img标签的src并且把img标签src里面链接转换base64格式

原文地址: https://www.cveoy.top/t/topic/ihhz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录