Удалить разметку HTML из текста в приложении-функции Azure

Я пишу простое приложение-функцию Azure, которое должно получить строку, содержащую разметку HTML, удалить теги HTML и вернуть "очищенный" текст.

Код будет очень простым, как

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

Насколько я могу судить по SO, использование RegEx для этого является большой проблемой, но другие решения, которые я могу найти, основаны на DOM (работа над documentобъект, как добавление DIV с req.body содержание в нем и получать чистый текст из этого.

Но в моей функции Azure DOM мне недоступен (поскольку браузер не выполняет запрос.

Так какие у меня варианты?

1 ответ

Решение

В интересах других, сталкивающихся с этим, как упоминали Карлос и Критен, вы можете использовать один из множества npm модули доступны для санации текста.

Что касается добавления этих зависимостей (см. Документы), вы можете

  1. Работая локально, просто npm install что нужно и при использовании func развернуть, это будет включать в себя node_modules тоже. Это поможет с холодным запуском, поскольку он запускает пакет как есть. То же самое относится и при использовании docker на основе развертывания тоже по умолчанию Dockerfile,

  2. Использование Kudu, как упомянуто в той теме, которой вы поделились. Но не рекомендовал бы это, так как это то, что вы всегда должны делать при изменении зависимостей.

Другие вопросы по тегам