要删除字符串中所有标签的属性样式,但保留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);

输出结果为:`

Hello World

js 删除字符串标签的所有属性样式但是保留img标签的src

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

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