从 Azure Function 应用程序的文本中删除 HTML 标记

Remove HTML markup from text in Azure Function app

我正在编写一个简单的 Azure Function 应用程序,它应该接收一个包含 HTML 标记的字符串删除 HTML 标签和 return "sanitized" 文本。

代码会很简单,喜欢

module.exports = async function (context, req) {
    if (req.body) {
        context.res = {
            body: req.body.replace(... something)
        };
    }
};

就我在 SO 上看到的,使用 RegEx 执行此操作是一个很大的 NO-GO,但我能找到的其他解决方案都是基于 DOM(致力于 document对象,比如添加一个 DIV 其中包含 req.body 内容,并从中获取干净的文本。

但是在我的 Azure 函数中,DOM 对我不可用(因为没有浏览器执行请求。

那么我有什么选择?

为了其他遇到此问题的人的利益,例如 Carlos 和 Kryten 提到的,您可以使用许多 npm 可用于清理文本的模块之一。

至于添加这些依赖项(参考docs),你可以

  1. 在本地工作时,只需npm install你需要的,当使用func部署时,它也会包括node_modules。这将有助于冷启动,因为它 runs the package as is. The same applies when using docker-based deployment 也适用于默认 Dockerfile.

  2. 使用您分享的 中提到的 Kudu。 但是不推荐这样做,因为它是您总是必须对依赖项的更改做的事情。