You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JS如何删除<开头>结尾内容 提取HTML文档中的纯文本

JavaScript提取HTML纯文本实现方案

方案1:正则表达式快速实现

适合结构简单的HTML场景,代码逻辑好理解,非常适合初学者上手:

function getPureTextFromHtml(htmlStr) {
  // 匹配所有<开头>结尾的HTML标签,替换为空
  let text = htmlStr.replace(/<[^>]+>/g, '');
  // 把连续的换行、空格、制表符统一替换为单个空格,再去掉首尾多余空格
  text = text.replace(/\s+/g, ' ').trim();
  return text;
}

测试效果:

// 示例输入
const inputHtml = `<p>Random text generated by some method</p>
<p style="text-align:center;">centered text example</p>
<p>Full name</p>
<p>IRSP</p>`;

console.log(getPureTextFromHtml(inputHtml));
// 输出完全符合预期:Random text generated by some method centered text example Full name IRSP

注意:正则方案存在极小概率的匹配异常,比如HTML标签的属性值里包含>字符时,会出现匹配错误,复杂场景建议用下面的DOM方案。

方案2:DOM API实现(更稳妥)

利用浏览器原生的HTML解析能力,完全避免正则的边缘case问题,兼容性和容错率更高:

function getPureTextFromHtml(htmlStr) {
  // 创建一个临时的DOM元素
  const tempEle = document.createElement('div');
  // 把待处理的HTML内容赋值给临时元素的innerHTML
  tempEle.innerHTML = htmlStr;
  // 直接读取textContent属性就能得到所有纯文本内容
  let text = tempEle.textContent || tempEle.innerText || '';
  // 处理多余空格
  text = text.replace(/\s+/g, ' ').trim();
  return text;
}

相关学习要点

  • 正则部分:可以重点学习全局匹配修饰符、字符组匹配、贪婪匹配的规则,熟练后可以自己实现绝大多数常见的文本处理需求。
  • DOM操作部分:可以了解createElement、innerHTML、textContent等常用DOM API的用法,这是JS操作页面内容的核心基础知识点。

内容的提问来源于stack exchange,提问作者Alexis Fernandez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 01:36:06