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

时间:2019-05-07 19:07:41

标签: azure-functions azure-function-app

我正在编写一个简单的Azure Function应用程序,该应用程序应该接收包含HTML标记的字符串,然后删除HTML标记并返回经过“消毒”的文本。

代码将非常简单,例如

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

据我所知,使用RegEx进行此操作非常困难,但是我可以找到的其他解决方案都基于DOM(在document对象上工作,例如添加其中包含req.body内容的DIV并从中获取纯文本。

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

那我有什么选择?

1 个答案:

答案 0 :(得分:1)

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

关于添加这些依赖项(请参阅docs),您可以

  1. 在本地工作时,仅需要npm install,并且在使用func进行部署时,它也将包含node_modules。这将有助于冷启动,因为它runs the package保持不变。使用docker-based deployment和默认Dockerfile时也是如此。

  2. 使用您共享的SO thread中提到的Kudu。 但是不建议这样做,因为您必须始终对依赖关系进行更改。