【发布时间】:2013-03-02 22:28:35
【问题描述】:
我有一个 CouchDB 视图映射函数,它生成存储的 HTML 文档的摘要(文本的第一个 x 个字符)。不幸的是,我没有将 HTML 转换为纯文本的浏览器环境。
目前我使用这个多阶段正则表达式
html.replace(/<style([\s\S]*?)<\/style>/gi, ' ')
.replace(/<script([\s\S]*?)<\/script>/gi, ' ')
.replace(/(<(?:.|\n)*?>)/gm, ' ')
.replace(/\s+/gm, ' ');
虽然它是一个非常好的过滤器,但它显然不是一个完美的过滤器,有时会漏掉一些残留物。有没有更好的方法可以在没有浏览器环境的情况下转换为纯文本?
【问题讨论】:
-
它可能归结为使用您列出的大量替换的正则表达式,然后使用指定的列表替换,例如 :active;完成清洗。
-
stackoverflow.com/a/29706729/3338098 保留换行符并去除 html 标签
标签: javascript regex couchdb