Pular para conteúdo

REMOVE_HTML_TAGS - Remoção de Tags HTML

O que é esta operação?

A operação REMOVE_HTML_TAGS remove todas as tags HTML e XML do texto, extraindo apenas o conteúdo textual puro.

Por que esta operação existe?

HTML misturado com texto dificulta leitura e análise. Esta operação existe para:

  1. Extração de Conteúdo: Obter texto limpo de páginas web ou emails HTML
  2. Web Scraping: Limpar dados raspados removendo marcação
  3. Preparação para Exibição: Remover HTML antes de mostrar em interfaces de texto puro
  4. Segurança: Prevenir XSS removendo tags HTML de inputs de usuário

Como funciona internamente?

Código interno (content-cleaner-executor.service.ts:247-250):

// Remove HTML tags
if (config.removeHtmlTags === true) {
  cleaned = cleaned.replace(/<[^>]*>/g, '');
}

Parâmetros

Campo Tipo Obrigatório Descrição
inputVariable string Sim Variável contendo texto com HTML
removeHtmlTags boolean Não Remove tags HTML (padrão: false)
outputVariable string Não Variável para resultado

Exemplo: Extração de Conteúdo Web

{
  "name": "Extrair Texto de HTML",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "variable_1",
      "type": "variable",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "HTML Content",
        "parameters": {
          "variableName": "html_content",
          "variableValue": "<h1>Título</h1><p>Este é um <strong>parágrafo</strong> com <a href='link'>link</a>.</p>"
        }
      }
    },
    {
      "id": "cleaner_1",
      "type": "content_cleaner",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Remover HTML",
        "parameters": {
          "inputVariable": "html_content",
          "removeHtmlTags": true,
          "removeExtraSpaces": true,
          "trimWhitespace": true,
          "outputVariable": "plain_text"
        }
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Texto Limpo",
        "parameters": {
          "message": "📄 TEXTO EXTRAÍDO:\n\n{{plain_text}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 900, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "variable_1" },
    { "source": "variable_1", "target": "cleaner_1" },
    { "source": "cleaner_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Saída:

📄 TEXTO EXTRAÍDO:

Título Este é um parágrafo com link.

Boas Práticas

SIM: Web scraping, sanitização de inputs, extração de conteúdo de emails HTML ❌ NÃO: Confiar apenas nesta operação para segurança (use bibliotecas específicas anti-XSS)

Dicas

💡 Dica 1: Remove tags mas não decodifica entidades HTML (& continua como &) 💡 Dica 2: Combine com removeExtraSpaces para limpar espaços deixados pelas tags 💡 Dica 3: Para web scraping profissional, considere usar parsers HTML específicos

Próximo Node

REMOVE_SPECIAL_CHARS - Remove caracteres especiais → REMOVE_LINE_BREAKS - Remove quebras de linha