富文本中去掉 HTML 和 CSS 样式,只保留纯文本

要从富文本中去掉 HTML 和 CSS 样式,只保留纯文本,可以使用以下几种方法:

  1. 纯 JavaScript 方法

你可以使用 JavaScript 的 innerTexttextContent 来提取文本,而忽略 HTML 标签和样式。

javascript 复制代码
function stripHtml(html) {
    var tempDiv = document.createElement("div");
    tempDiv.innerHTML = html;
    return tempDiv.innerText || tempDiv.textContent || "";
}

var richText = "<div style='color: red;'>Hello <b>World</b>!</div>";
var plainText = stripHtml(richText);
console.log(plainText);  // 输出 "Hello World!"

2. 使用正则表达式

可以通过正则表达式去除 HTML 标签。虽然这种方法比较简单,但它可能无法处理一些嵌套标签或特殊的情况,因此需要根据需求进行调整。

javascript 复制代码
function stripHtmlTags(html) {
    return html.replace(/<[^>]*>/g, '');
}

var richText = "<div style='color: red;'>Hello <b>World</b>!</div>";
var plainText = stripHtmlTags(richText);
console.log(plainText);  // 输出 "Hello World!"

3. 使用浏览器的 DOM 解析

可以利用浏览器内置的 DOM 解析能力来处理更复杂的 HTML 内容。

javascript 复制代码
function stripStylesAndHtml(html) {
    var tempDiv = document.createElement("div");
    tempDiv.innerHTML = html;
    
    // 遍历所有元素,移除内联样式
    var elements = tempDiv.getElementsByTagName("*");
    for (var i = 0; i < elements.length; i++) {
        elements[i].removeAttribute("style");
    }
    
    return tempDiv.innerText || tempDiv.textContent || "";
}

var richText = "<div style='color: red;'>Hello <b>World</b>!</div>";
var plainText = stripStylesAndHtml(richText);
console.log(plainText);  // 输出 "Hello World!"
相关推荐
伍哥的传说18 分钟前
鸿蒙系统(HarmonyOS)应用开发之手势锁屏密码锁(PatternLock)
前端·华为·前端框架·harmonyos·鸿蒙
yugi98783820 分钟前
前端跨域问题解决Access to XMLHttpRequest at xxx from has been blocked by CORS policy
前端
浪裡遊31 分钟前
Sass详解:功能特性、常用方法与最佳实践
开发语言·前端·javascript·css·vue.js·rust·sass
旧曲重听11 小时前
最快实现的前端灰度方案
前端·程序人生·状态模式
默默coding的程序猿1 小时前
3.前端和后端参数不一致,后端接不到数据的解决方案
java·前端·spring·ssm·springboot·idea·springcloud
夏梦春蝉2 小时前
ES6从入门到精通:常用知识点
前端·javascript·es6
归于尽2 小时前
useEffect玩转React Hooks生命周期
前端·react.js
G等你下课2 小时前
React useEffect 详解与运用
前端·react.js
我想说一句2 小时前
当饼干遇上代码:一场HTTP与Cookie的奇幻漂流 🍪🌊
前端·javascript
funnycoffee1232 小时前
Huawei 6730 Switch software upgrade example版本升级
java·前端·华为