去除 HTML 标签
去除 HTML 标签,是指把一段 HTML 源码里的标签全部去掉、只留纯文本内容,也就是常说的 HTML 转纯文本。本工具按 HTML 语义逐字符扫描而不是用正则暴力替换,文字里的 a < b 不会被吃掉;script、style 与注释整段丢弃, 等实体自动还原,段落、列表、表格与指定标签可选保留。结果区列出去掉了哪些标签各几个与去标签后的字数。浏览器本地完成,源码不上传。
粘贴时只读取剪贴板里的纯文本,不会去碰那份带语法高亮的富文本——从 VS Code 或 GitHub 复制代码时,读错那一份拿到的会是高亮外壳而不是你的源码。
选一个预设(点了就用,不用逐项调)
默认设置:去掉全部标签、保留段落分行,script、style 与注释整段丢弃,HTML 实体自动还原。
全部参数:排版 / 内容 / 字符 / 标签
保留这些标签(其余照常去掉)
保留时只留标签名与 href、src、alt、title 等安全属性;onclick 这类事件属性、style、class 一律丢掉,javascript: 开头的地址连属性一起丢。script、style、iframe 这类标签不在可选范围内——把它们交回给你就等于把风险交回给你。
🔒 你粘进来的 HTML 只在浏览器里被当成字符串解析取文字,全程不渲染、不上传任何服务器, 也不写入本地存储(只记住你选的预设与参数),关闭页面即清除。复制结果时只写入纯文本。
如何使用去除 HTML 标签
把 HTML 源码粘贴到左边的源码框(粘贴时只读取剪贴板里的纯文本,从 VS Code 或 GitHub 复制代码时不会误取那份带语法高亮的富文本),也可以直接输入,或拖入 .html / .htm / .xhtml / .xml / .svg / .txt / .md 文件(单文件 10 MB 以内,按 UTF-8 读取)。零输入想先看效果就点「填入示例」。
选一个预设:纯文本 / 保留排版 / 压成一行 / 只数字数 / 保留基础标签 / 代码模式。每个预设下面写清了它会额外做什么,点完还能展开全部参数逐项调——输出结构、空行策略、超链接、图片、表格、列表符号、实体解码、不间断空格、要保留哪些标签。改动任意一项会自动切到「自定义」,不会被预设悄悄覆盖。
右边立刻就是纯文本结果,上面是标签台账(去掉了哪些标签各几个、整段丢弃了几段 script/style/注释、解码了多少处实体、有没有不是 HTML 标签的名字被误删)、页面元信息卡与安全体检行。确认没问题就点「复制纯文本」或「下载 .txt」;源码超过 20 万字符时会切换成「点按钮 + 进度条 + 可取消」的模式。
关于去除 HTML 标签的常见问题
- 去除 HTML 标签会上传我的源码吗
- 不会上传。解析和去标签全部在你的浏览器里用 JavaScript 完成,页面没有任何一次把内容发往服务器的请求,关闭或刷新页面即全部清除,断网状态下同样能用;本页只把你选的预设与参数记在浏览器本地,源码和结果一个字都不会写进本地存储。还有一点值得说清楚:本工具从头到尾只把 HTML 当字符串扫描,绝不渲染它,也不创建任何 DOM 节点,所以别人发来的一段来路不明的 HTML 也可以放心粘进来看里面写了什么。
- 怎么去掉一段代码里的 HTML 标签只留文字
- 不管你搜的是「HTML 标签怎么全部去掉只留文字」还是「HTML 代码怎么只保留文字」,做法都一样:把源码粘进左边的框,或者直接把 .html 文件拖进来,右边立刻就是纯文本,点「复制纯文本」即可。默认会按块级元素还原段落分行;想压成一整段塞进 CSV 单元格或表单就选「压成一行」预设,想连列表和表格结构一起保留就选「保留排版」。整个过程不用点任何按钮,改参数会实时重算。
- 用正则去 HTML 标签为什么会出错
- replace(/<[^>]*>/g,'') 至少有六个必翻车的地方:文字里的 a < b 会被当成标签开头吃掉半句;<a title="a>b"> 属性里的 > 会让标签提前结束、漏出 b"> 这样的残片;script 和 style 只是标签被删掉,里面的 JS 与 CSS 反而变成了「正文」;注释里带 > 时会在半路结束;未闭合的标签会把后面的内容一起吞掉;HTML 实体完全不会被还原。本工具按 HTML 语义逐字符扫描,这六种情况都能处理对,页面正文里有一张逐行对照表。
- 去掉 HTML 标签后文字挤成一坨怎么保留段落
- HTML 里源码的换行和缩进不算内容,真正的换行来自 p、div、h1、ul、li、table 这些块级元素和 <br>。本工具默认按块级元素还原段落,连续两个块级标签只产生一个换行,不会留下一串空行;选「保留排版」预设还会把列表统一成「- 」、表格用制表符分列。反过来,想要一整段就选「压成一行」,中文直接相接、中英之间补一个空格。
- 去除 HTML 标签时 nbsp 等实体会自动还原吗
- 会。命名实体( & < —)、十进制 ' 和十六进制 中 都会解码, 解出来的不间断空格还会顺带转成普通空格(可关)——这一步很关键,它正是「看着一模一样却搜不到、导入对不上」的元凶。未知实体如 &foo; 原样保留不乱猜,&lt; 只解一层得到字面的 <。如果你要的就是原始实体,把「解码 HTML 实体」关掉或直接用「代码模式」预设。
- 去 HTML 标签时 script 和 style 会被当正文吗
- 不会。script、noscript、style、HTML 注释,以及 head、svg、iframe、object、select 这些整棵子树里的内容一个字符都不会进入结果;textarea 的默认值同理(这一条与站内「富文本清理」同一口径,我们如实写出来而不是偷偷丢掉)。连未闭合的 script 也会一直丢到文档末尾并给你一条提示——宁可丢内容,也不能把 JS 代码倒进你的结果里。结果区的安全体检行会告诉你一共丢弃了几段。
- 去掉 HTML 标签时能只保留 br 和 strong 吗
- 能。这类需求叫保留部分 HTML 标签,最常见的就是只保留 br 标签、让换行不丢。展开参数区,在「保留这些标签」里勾选即可,或者直接用「保留基础标签」预设(默认保留 br、p、strong、em、a、code)。保留时只留标签名和 href、src、alt、title、lang、colspan、rowspan 这些安全属性,onclick 这类事件属性和 style、class、id 一律丢掉,javascript: 开头的地址会连属性一起丢——因为你很可能会把结果再贴回网页。script、style、iframe 这类标签不在可选范围内。
- 自定义标签和泛型会被当 HTML 标签删掉吗
- 默认会,因为 <int>、<T>、<router-link>、<my-widget> 形式上就是标签。但本工具不会静默吃掉它们:结果区会列出这些「不是 HTML 标签的名字」和总数,旁边就有「一键打开」按钮切到「只去已知 HTML 标签」,也可以直接用「代码模式」预设。打开之后只去掉真正的 HTML 标签,自定义标签连大小写都原样保留。顺带一提,{{ item.name }} 和 <%= name %> 本来就不是标签,任何设置下都不受影响。
- 能直接输入网址去除网页的 HTML 标签吗
- 不能。纯浏览器端受跨域限制抓不到别的网站,要抓就得把网址和内容传到服务器,那样就没法承诺「不上传」了。做法很简单:在目标网页上按 Ctrl+U(Mac 是 Option+Command+U)查看源码,全选复制后粘进来,效果完全一样;或者右键「另存为」网页后把 .html 文件拖进来。
- 爬下来的网页源码怎么提取正文文字
- 把整页源码粘进来即可,网页源码怎么只留正文文字这件事页面已经替你做完:去完标签的正文在右边,页面的 title、meta description、meta keywords、html lang、charset 和第一个 h1 会单独提取到「页面元信息」卡片里,可以分别复制——网页源码提取标题和描述,就是在这张卡片里完成的。为什么要单独提?因为按规则 head 里的内容是要整段丢弃的,只丢不给你,你会以为工具把标题吃了。想接着从正文里抽网址、邮箱、电话,用对应的提取工具。
- 去掉 HTML 标签统计字数怎么才准
- 结果区直接给出去标签后的字数,按字素簇统计,emoji 和组合字符都记 1 个,与站内「字数统计」口径一致;同时还给出行数、段落数、链接数与表格数。想只数正文就用「只数字数」预设,它会把链接文字和图片一并去掉。要看词频、字符构成或各平台限制,把结果粘到字数统计页。
- 去除 HTML 标签和富文本清理有什么区别
- 一句话:你手上是一串能直接看见标签的 HTML 代码就用本页,你刚从 Word 或网页里 Ctrl+C 了一段带格式的内容就用「富文本清理」。本页的输入是源码字符串,只按 HTML 语义去标签、不改你的文字;那页处理的是剪贴板里的富文本,还会清零宽字符、PDF 硬换行、Word 自动编号这些粘贴污染。本页对残留的零宽字符只报数不动手,需要清理时会提示你去那两页。
- 去除 HTML 标签和 HTML 转 Markdown 有什么区别
- 本页输出的是纯文本,标题、加粗、链接的标记一律不保留(「列表统一成 - 」只是把 li 的前缀统一,不是 Markdown 转换);「HTML 转 Markdown」会把它们转成 # 号标题、两个星号包住的加粗、[文字](链接) 这样的 Markdown 语法。要写进笔记、文档或 Git 仓库去那页,要干净的纯文字留在本页。
- XML 或模板文件能用去除 HTML 标签吗
- XML 去标签取文字可以,按 HTML 语义处理,自定义标签会被去掉(想保留就打开「只去已知 HTML 标签」),<?xml ?> 声明会被丢弃且不会吞掉后文。但有一条要如实说明:本工具不按 XML 语义解析 <![CDATA[...]]>,遇到 CDATA 时结果里可能残留 ]]>,检测到这种情况页面会给你提示。需要把 XML 结构化成数据请用「XML 转 JSON」。
- 去除 HTML 标签在手机上能用吗
- 能用,页面在窄屏上会自动纵向堆叠,预设按钮横向可滑,标签台账默认只显示总结行。手机上更常见的做法是:在浏览器里长按选中源码复制,或用文件管理器把 .html 文件选进来。要提醒一点,手机浏览器复制网页时拿到的往往是渲染后的文字而不是源码,那种情况本页会提示你「这像是带格式的内容而不是 HTML 源码」。
- 去掉 HTML 标签后中文乱码怎么解决
- 结果里出现乱码几乎都是文件编码的问题,而不是去标签这一步。本页按 UTF-8 读取文件,遇到 GBK、GB2312 编码的 .html 会检测到大量替换字符并明确提示「该文件不是 UTF-8,请另存为 UTF-8 后重试」——用记事本或 VS Code 另存一次即可。如果是复制粘贴进来的源码,页面元信息卡里的 charset 一栏能告诉你这个页面原本声明的是什么编码。下载时还可以勾选「带 BOM」,让 Windows 记事本和 Excel 打开中文不乱码。
- 去除 HTML 标签免费吗支持多大的文件
- 免费在线去除 HTML 标签,无需注册、不加水印、不限次数。源码建议单次 1000 万字符以内,超过会明确提示已处理多少而不是静默截断,而且截断点绝不会切在标签中间;文件方面支持 .html / .htm / .xhtml / .xml / .svg / .txt / .md,单文件 10 MB 以内。源码超过 20 万字符会自动切换成分片处理并显示进度、可随时取消;结果超过 20 万字时预览会截断并明确告知,复制与下载拿到的仍是完整内容。
用正则去 HTML 标签为什么会翻车:六行对照
网上搜「去除 HTML 标签」,十有八九会告诉你写一句 text.replace(/<[^>]*>/g, '')。这句话的问题不是「不够严谨」, 而是它在真实网页上一定会出错——因为它把 HTML 当成了「尖括号之间的东西」, 而 HTML 的真实规则比这复杂得多。很多人过一阵会回头再搜一次 「正则表达式去除 HTML 标签不准」,问题就出在下面这六行——每一行都是真实会遇到的输入:
| 输入 | 正则方案的结果 | 错在哪 |
|---|---|---|
如果 a < b 且 c > d 就成立 | 如果 a 就成立 | 文字里的裸「<」被当成标签开头,从它一直吃到下一个「>」,半句话没了 |
<a title="a>b">链接</a> | b">链接 | 属性值里的「>」让正则以为标签提前结束,漏出半截属性文本 |
<script>alert(1)</script>正文 | alert(1)正文 | 只删了标签,里面的 JS 代码反而升级成了「正文」 |
<style>p{color:red}</style>正文 | p{color:red}正文 | 同上,样式表内容原样倒进结果——这就是「去完标签粘出一堆 CSS」的由来 |
<!-- 备注 > 内部 -->可见 | 内部 -->可见 | 注释里出现「>」时,正则在半路就结束了注释 |
第一段</p><p>第二段 | 第一段第二段 | 标签删掉了,但换行没了:两段文字挤成一坨 |
这六行里最危险的是第三、第四行:标签删掉了,里面的 JS 代码和 CSS 规则反而升级成了「正文」。 很多在线去标签工具粘出来一堆样式代码,就是这么来的。 所以去标签这件事得按 HTML 语义逐字符扫描,而不是按尖括号切: 要知道自己此刻在标签里还是在文字里、在引号里还是在引号外、在 script 内部还是外面。 本工具用的就是这样一台单遍词法扫描器,与站内富文本清理共用同一份实现,两页结果不会打架。 如果你就是想自己写替换规则,用批量查找替换; 想先把正则调试对,用正则测试。
去除 HTML 标签后文字挤成一坨怎么保留换行
HTML 去标签之后第二常见的抱怨就是这个。搜索框里有两种问法—— 「去掉标签后文字挤成一坨」和「去掉标签后段落全没了」——说的其实是同一件事: 标签是没了,可整篇文章变成了一大段。 原因在于 HTML 的空白规则和纯文本完全不同—— 在 HTML 里,「换行」不是由换行符决定的,而是由标签决定的。五条规则说清楚这件事:
| 规则 | 为什么是这样 |
|---|---|
| 源码里的换行和缩进不算内容 | 写 HTML 的人为了好读才换行缩进,浏览器渲染时会把它们折叠成一个空格——所以去标签时也必须折叠,否则每一层缩进都会变成结果里的一串空格 |
| 连续的空格、Tab、换行折叠成一个空格 | 这是 HTML 的空白折叠规则;关掉「折叠连续空白」就能拿到逐字原样的源码文字,代码模式用的就是这一档 |
| 真正的换行来自块级元素 | p、div、h1~h6、ul、li、table、tr 这些标签的开闭处才是段落边界;连续两个块级标签只产生一个换行,不会留下一串空行 |
| <br> 产生一个换行,<br><br> 两个 | 它是文档里唯一「显式的换行」,所以按字面计数,不做合并 |
| <pre> 与 <code> 里的空白原样保留 | 代码块的缩进就是语义,折叠了就等于把代码改坏;这是空白折叠规则唯一的例外 |
把这五条并起来就是一句话:「HTML 去标签保留换行」靠的不是保留源码里的换行符, 而是认出块级元素。源码换行一律折叠掉,段落分行全部由标签重新生成—— 这也是为什么同一段源码,缩进得再深,结果里也不会多出一串空格。
去除 HTML 标签的实测算例:208 字符源码变 38 字
规则讲完,直接看一段源码走完全程的样子。下面这段商品详情片段一共 208 个字符, 里面有 7 种共 15 个标签、2 处 ,还夹着一段 script:
<div class="post">
<h2>订单说明</h2>
<p>合计 ¥1,280 元,<strong>今天</strong>发货。</p>
<ul>
<li>顺丰包邮</li>
<li>7 天无理由</li>
</ul>
<script>var a = 1; if (a < 2) console.log('hi');</script>
</div>用默认的「纯文本」预设去标签,结果是 4 行、38 个字:
订单说明
合计 ¥1,280 元,今天发货。
- 顺丰包邮
- 7 天无理由三个细节值得对照着看。第一,var a = 1; if (a < 2) 这段 JS 一个字符都没有进入结果——用 /<[^>]*>/g 那种正则去标签,它会原样留在「正文」里。 第二,两处 还原成了普通空格,所以「合计 ¥1,280 元」这行现在能被正常搜索、 也能正常比对;不还原的话它看着一样却怎么搜都搜不到。第三,源码里为了好读而写的换行与缩进全部折叠掉了, 结果里的 4 个换行全部来自 h2、p、li 这些块级元素, 不会因为源码缩进了两层就多出一串空格。换成「压成一行」预设是 1 行 37 个字, 段落之间补一个空格、中文与中文直接相接。标签台账则会如实写出这 15 个标签的构成: li × 4、div × 2、h2 × 2、p × 2、strong × 2、ul × 2、script × 1, 外加「整段丢弃 script × 1」「解码实体 2 处」两行——丢了什么都摆在明面上。
去掉 HTML 标签后怎么保留段落:三种输出结构
知道了换行从哪来,就能理解本页三种输出结构的差别:保留段落按块级元素还原段落分行,是最接近「人读到的样子」的一档, 适合把网页正文取出来再编辑;轻结构在此基础上把列表统一成「- 」、 表格用制表符分列,适合转手贴进笔记、周报、文档;压成一行把所有换行去掉合成一整段,中文直接相接、中英之间补一个空格, 适合塞进 CSV 单元格、JSON 字段、表单输入框这类「只能是一行」的地方。 如果去完标签还想进一步精修空行与行尾空格,交给去除空行空格——本页的空行处理调用的就是它,口径完全一致。
去除 HTML 标签时怎么去掉 script 和 style 内容
「去掉标签」听起来像是只删尖括号,但有几类内容必须连里面的文字一起丢掉, 否则结果里会出现大段你根本不想要的东西。本工具丢弃的清单和理由全在这里, 没有一条是偷偷做的:
| 被整段丢弃的 | 为什么 |
|---|---|
<script> / <noscript> | JS 代码不是正文;只删标签会把整段脚本变成结果里的文字 |
<style> | CSS 规则不是正文,这是「去完标签粘出一堆样式代码」的头号原因 |
HTML 注释 <!-- --> | 注释是写给开发者的,包括邮件模板里的 <!--[if mso]> 条件注释 |
<head> 整棵子树 | meta、link、script 都在里面;真正有用的 title 与 description 我们单独提取给你 |
<title> | 标题不属于正文流;它会出现在「页面元信息」卡片里,可单独复制 |
<textarea> | 表单控件的默认值不是页面正文(与站内「富文本清理」同一口径,如实告知) |
<svg> | 矢量图的路径数据是一串坐标,混进正文就是乱码 |
<iframe> / <object> / <select> | 嵌入内容与下拉选项不是这一页的正文 |
还有一条更狠的规则:遇到没有闭合的 script 或 style,从它开始到文档末尾全部丢弃。 这看起来很激进,但方向是对的——宁可丢掉一段内容,也不能把一大段 JS 代码倒进你的结果里, 而且页面会明确告诉你发生了这件事,不会让你以为文章本来就这么短。
最后是本页的安全说明:我们从不渲染你粘进来的这段 HTML,只把它当字符串解析。 页面里没有 innerHTML、没有 DOMParser、没有 iframe 预览, 一个 DOM 节点都不会被创建。结果区那行安全体检会如实列出这段 HTML 里有几段脚本、 几个 on* 事件属性、几条 javascript: 链接, 以及它们分别是怎么被处理掉的。所以「别人发我一段 HTML,我想看看里面写了什么」 这件事,在本页做是安全的。
HTML 实体怎么还原:nbsp 怎么变成空格
去完标签常常还剩一堆 、& 这样的东西, 它们叫 HTML 实体:因为 <、>、& 在 HTML 里有特殊含义,正文里要显示它们就只能写成转义形式。 本工具默认会把它们还原成正常字符:
| 实体 | 还原成 | 说明 |
|---|---|---|
| 不间断空格 U+00A0 | 网页排版占位最常用;看着是空格,但搜索、匹配、入库时对不上,默认再转成普通空格 |
& | & | 网址里的 & 必须写成 &,否则会被当成实体开头 |
< / > | < / > | 正文里要显示尖括号就只能这么写,否则会被当成标签 |
" / ' | " / ' | 属性值里的引号;' 是十进制写法,等价于 ' |
— / – | — / – | 排版破折号,从 Word 导出的 HTML 里非常多 |
… | … | 省略号;本页只还原成 …,不会替你改成三个点 |
中 | 中 | 十六进制数值实体,老系统导出的中文常长这样 |
&lt; | < | 只解一层:先还原 & 得到 &,结果是字面的 <,不会再继续解成尖括号 |
两条不太直觉但很重要的规则。第一,只解一层:&lt; 解开之后是字面的 <,不会继续解成尖括号。 因为那串字符原本表达的就是「我要显示 < 这四个字符」,多解一层就是改坏了你的内容。 第二,不认识的实体原样保留:&foo;、 超出 Unicode 范围的 �、孤立代理 �都会被原封不动留下来,猜错就等于悄悄改字。要做反方向的转义(文字转 <), 本页不做,那是另一件事。
去除 HTML 标签的 6 个预设分别做什么
进页默认就是「纯文本」,什么都不点、粘上去就有干净结果。 换预设是为了处理那些只在特定场景才出现的需求, 下面这张表与页面上的按钮共用同一份配置,点哪个按钮生效的就是哪一行:
| 预设 | 什么时候用 | 它会额外做什么 |
|---|---|---|
| 纯文本 | 最常见:只要文字 | 默认设置:去掉全部标签、保留段落分行,script、style 与注释整段丢弃,HTML 实体自动还原。 |
| 保留排版 | 转手贴进笔记、文档、周报 | 额外保留轻结构:列表统一成「- 」、表格用制表符分列,链接地址附在文字后面,图片保留 alt 说明。 |
| 压成一行 | 塞进 CSV 单元格、JSON 字段、表单 | 所有换行去掉合成一整段,空行全部删除,表格用空格分列——中文直接相接、中英之间补一个空格。 |
| 只数字数 | 统计网页正文有多少字 | 链接文字与图片一并去掉,只留下真正的正文并压成一段,字数口径与站内「字数统计」一致。 |
| 保留基础标签 | 只想去掉 div、span 这些壳 | 保留 br、p、strong、em、a、code 六个标签(只留标签名与 href 等安全属性,onclick 与 style 一律丢掉),其余标签照常去掉。 |
| 代码模式 | 粘的是代码或模板,怕被吃掉 | 只去掉真正的 HTML 标签,vector<int>、<router-link> 这类自定义名字原样保留;不折叠空白、不动空行、不解码实体。 |
| 自定义 | 自己调参数 | 改动任意一个参数就会自动切到这一档,你的组合不会被预设覆盖掉。 |
改动任意一个参数都会自动切到「自定义」,你手动调的组合不会被预设悄悄覆盖回去; 这些参数偏好会记在浏览器本地,下次打开还是你上次的配置, 但源码与结果一个字都不会被存下来。
去除 HTML 标签一般用来做什么:8 个真实场景
- 爬下来的网页怎么提取正文文字:把整页源码粘进来,head、script、style、注释、svg、iframe 会被整段丢掉,只剩正文;页面的 title、description、lang 与第一个 h1 单独提取到「页面元信息」里可分别复制。接着要抽网址、邮箱、电话,用对应的提取工具接着处理。
- 数据库富文本字段去标签:CMS、商城、论坛的正文字段存的多半是 <p> 加内联样式的富文本。用「纯文本」预设去标签, 顺手还原成普通空格——这正是「明明一样却搜不到、对不上」的元凶。要塞进单行字段就换「压成一行」预设。
- 邮件 HTML 提取文字:营销邮件是嵌套表格布局,还带着 <!--[if mso]> 条件注释。条件注释整段丢弃,嵌套表格按制表符分列,订单号、金额这类信息仍然对得上列。
- CMS 文章导出去标签:导出的 HTML 想转成纯文本存档或投稿,用「保留排版」预设:段落保留、列表统一成「- 」、表格用制表符分列、链接地址附在文字后面,贴进笔记或文档就是能读的样子。
- 去掉 HTML 标签统计字数:选「只数字数」预设:链接文字与图片一并去掉,只留真正的正文,结果区直接给出去标签后的字数,emoji 记 1 个,与站内字数统计口径一致。
- Excel 里带 HTML 标签怎么去掉:从后台或数据库导出的表格,某一列常常整列带着 <p>、<span> 和 。Excel 没有去标签的函数,用查找替换写 <*> 通配符又会把 a < b 这样的正文一起吃掉。把那一列复制到左边的框里去完标签再粘回去即可。有个坑先说清楚:默认预设按块级元素分行,一个单元格里有两个 <p> 就会拆成两行,粘回去整列就串行了——处理完先核对结果行数与原来的行数是否一致,不一致说明有单元格被拆开,那几格单独处理。
- 从模板代码里取文案:Vue、React、Blade、JSP 模板里混着 <router-link>、<my-widget>、{{ item.name }}、<%= name %>。用「代码模式」预设:只去掉真正的 HTML 标签,自定义标签原样保留,实体也不解码,文案取出来还是你写的那些字。
- 老系统导出的 HTML 表格转文本:早年的报表导出常常是一张 table 加满内联样式。默认按制表符分列,一行一条,可以直接粘进 Excel 分列;不需要表格就选「丢弃表格」把表格文字整体去掉。
最后说清本页的边界,免得白试:它只处理你手上那串 HTML 源码,输出永远是纯文本。 你刚 Ctrl+C 了一段带格式的内容(不是源码),用富文本清理; 想连标题、加粗和链接一起保留成 Markdown 语法,用HTML 转 Markdown; 反过来要把 Markdown 或 Word 生成 HTML,用Markdown 转 HTML与Word 转 HTML; 只想要网页里的网址清单(去重、筛域名、去 utm、导 CSV),用提取链接; 只要邮箱或电话,用提取邮箱与提取电话; 要把 XML 结构化成数据,用XML 转 JSON。 去完标签之后的下一步通常是:用去除空行空格精修空白, 用字数统计看详细统计, 需要自定义替换规则就交给批量查找替换, 或者到文本处理工具箱做去重与排序。
去除 HTML 标签的几种叫法:strip_tags 与英文写法
同一件事,不同的人叫法差得很远:写前端的说去标签,做后端的说过滤, 查文档的直接搜函数名。它们大多指向同一个动作,但有几个叫法背后的行为并不一样, 照着别处的行为来预期本页的结果就会对不上。下面这张表把常见叫法归了归类, 也把这几处差别写清楚:
| 叫法 | 出自哪里 | 要注意什么 |
|---|---|---|
| HTML 去标签 / 清除 HTML 标签 | 中文口语里最常见的说法 | 和「去掉 HTML 标签」完全是同一件事:把尖括号里的标签删掉、只留文字,文字本身一个字不改。 |
| HTML 转纯文本 / HTML 转文字 / HTML 代码转文本 | 把它当成一次「格式转换」的说法 | 强调输出不带任何标记。要是你想把标题、加粗、链接也留下来,那要的是 Markdown 而不是纯文本,走 HTML 转 Markdown 那页。 |
| HTML 提取纯文本 | 偏「从一堆源码里取出正文」的说法 | 本页除了正文,还会把藏在 head 里的 title、description 单独提出来——按规则 head 是要整段丢弃的,不单独提你会以为标题被吃了。 |
| HTML 标签过滤 | 后端与 CMS 的语境 | 这个词有歧义:在安全语境里「过滤」通常指按白名单净化(sanitize),只删危险标签、留下正文标签。本页默认是全删,勾上「保留这些标签」才接近那个意思。 |
| strip_tags 在线 | PHP 函数 strip_tags() 的名字 | PHP 那个函数只删标签:script 与 style 里的代码会原样留在结果里,HTML 实体也不解码。所以拿它的行为预期本页的结果会对不上——本页这两件事都做了。 |
| remove html tags / strip html tags online / html tag remover | 英文界面与英文搜索里的写法 | 指的是同一个动作。这类工具通常只做「删标签」一件事;本页额外给出标签台账与整段丢弃清单,丢了什么都能核对。 |
| html to plain text / extract text from html | 英文里偏「取正文」的写法 | 对应 Python 的 BeautifulSoup.get_text() 与 JS 的 textContent。textContent 有个坑:它会把 script 标签里的 JS 代码也当成文字一起取出来。 |
不管从哪个叫法找过来,本页做的都是同一件事:在线去除 HTML 标签, 把源码变成能直接拿去用的纯文本。另一种高频写法是「HTML 转纯文本在线免费」, 它其实是在确认两件事——不用装软件、不用注册。这两条本页都成立, 还多一条:源码留在你自己的浏览器里,不上传。