要删除字符串中所有标签的属性样式,但保留 img 标签 src 属性,可以使用正则表达式和字符串的 replace 方法来实现。

首先,我们可以使用正则表达式来匹配所有的标签,并用空字符串替换它们的属性样式。然后,我们可以使用正则表达式来匹配 img 标签,并保留 src 属性。

下面是一个示例代码:

function removeAttributes(str) {
  // 匹配所有标签并删除属性样式
  str = str.replace(/<[^>]+>/g, function(match) {
    return match.replace(/(?:\s+(?:(?:class|style)\s*=\s*"[^"]*"))+/g, '');
  });
  
  // 保留img标签的src属性
  str = str.replace(/<img([^>]+)>/g, function(match, p1) {
    return '<img' + p1.replace(/(?:\s+(?:(?!src)\w+\s*=\s*"[^"]*"))+/g, '') + '>';
  });
  
  return str;
}

// 示例用法
var html = '<div class="container" style="color: red;"><p>Hello World</p><img src="image.jpg" alt="Image"></div>';
var cleanedHtml = removeAttributes(html);
console.log(cleanedHtml);

输出结果为:<div><p>Hello World</p><img src='image.jpg'></div>

JavaScript 删除字符串标签属性样式,保留 img 标签 src 属性

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

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