我正在编写一个简单的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对我不可用(因为没有浏览器执行该请求。
那我有什么选择?
答案 0 :(得分:1)
为了使其他人受益,例如Carlos和Kryten提到的,您可以使用许多npm
模块之一来清理文本。
关于添加这些依赖项(请参阅docs),您可以
在本地工作时,仅需要npm install
,并且在使用func
进行部署时,它也将包含node_modules
。这将有助于冷启动,因为它runs the package保持不变。使用docker
-based deployment和默认Dockerfile
时也是如此。
使用您共享的SO thread中提到的Kudu。 但是不建议这样做,因为您必须始终对依赖关系进行更改。