PauloRB.dev

Desenvolvedor de Software

Função PHP para remover tags html de Strings | PauloRB.dev Função PHP para remover tags html de Strings – PauloRB.dev
Função PHP para remover tags html de Strings

Função PHP para remover tags html de Strings

Quando trabalhamos com strings que podem conter HTML, é comum nos depararmos com tags mal formatadas, como < p > ou < /div >, que podem causar problemas ao processar ou exibir o texto. Felizmente, com PHP, é possível corrigir e remover essas tags de maneira eficiente.

Neste artigo, vou mostrar como criar uma função PHP que remove tags HTML de qualquer tipo, mesmo quando estão mal formatadas.

O Problema

Suponha que você tem o seguinte texto:

Texto com tags mal formatadas < p >parágrafo< /p > e < div >divisão< /div >.

As tags < p > e < /div > estão escritas com espaços extras, o que pode impedir que funções nativas, como strip_tags, as removam corretamente.

Nosso objetivo será criar uma função que:

  1. Corrija essas tags mal formatadas.
  2. Remova todas as tags HTML, deixando apenas o texto puro.

A Solução

A solução envolve duas etapas:

  1. Usar uma expressão regular com preg_replace para corrigir as tags mal formatadas.
  2. Utilizar a função nativa strip_tags para remover qualquer HTML restante.

function removeHtmlTags($text) {
    // Remove espaços extras dentro das tags
    $text = preg_replace('/<\s*\/?\s*([a-zA-Z0-9]+)(.*?)>/i', '<$1$2>', $text);

    // Remove todas as tags HTML restantes
    $text = strip_tags($text);

    return $text;
}

Explicação do Código

1. Corrigir Tags Mal Formatadas

A primeira parte da função usa a função preg_replace com a seguinte expressão regular:

/<\s*\/?\s*([a-zA-Z0-9]+)(.*?)>/i

Esta expressão identifica:

  • Qualquer abertura de tag < ou fechamento </.
  • Espaços desnecessários antes ou depois do nome da tag.
  • O nome da tag ([a-zA-Z0-9]+).
  • Atributos adicionais, como classes ou estilos ((.*?)).

Exemplo:

  • < p ><p>
  • < /div ></div>

2. Remover Todas as Tags

Após corrigir as tags, a função strip_tags remove qualquer HTML restante. Essa função nativa é ideal para limpar tags HTML válidas, garantindo que o texto final esteja completamente “limpo”.

Exemplo Prático

Aqui está como você pode usar a função:

$inputText = "Texto com tags mal formatadas < p >parágrafo< /p > e < div >divisão< /div >.";
$result = removeHtmlTags($inputText);

echo $result;

Saída:

Texto com tags mal formatadas parágrafo e divisão.

Quando Utilizar Esta Função

Esta função é útil em diversos cenários, como:

  • Limpeza de textos oriundos de formulários ou editores WYSIWYG.
  • Processamento de strings de fontes externas que podem conter HTML mal formatado.
  • Sanitização de conteúdo para exibição ou armazenamento.

Lidar com tags HTML mal formatadas pode ser um desafio, mas com a combinação de preg_replace e strip_tags, conseguimos criar uma solução simples e eficiente. Essa abordagem garante que seu texto seja limpo, independentemente de como as tags estejam estruturadas.

Espero que este artigo tenha sido útil. Agora, você tem uma função poderosa para limpar texto HTML em PHP! 🚀

 

Mais Posts

Usando a Função ROW_NUMBER e Outras Funções para Gerar Resultados Sequenciais no PostgreSQL

Usando a Função ROW_NUMBER e Outras Funções para Gerar Resultados Sequenciais no PostgreSQL

Quando trabalhamos com bancos de dados, muitas vezes precisamos gerar números sequenciais para nossos resultados. Isso pode ser útil para... Leia mais

Tutorial de Desenvolvimento: Criando um Jogo de Tetris

Tutorial de Desenvolvimento: Criando um Jogo de Tetris

E vamos a mais um tutorial de outro joguinho clássico só que dessa vez vamos recriar o Tetris. Link do... Leia mais

Guia de Deploy de Aplicação Laravel com Apache em uma VPS com Ubuntu e HTTPS

Guia de Deploy de Aplicação Laravel com Apache em uma VPS com Ubuntu e HTTPS

Neste guia, você aprenderá a fazer o deploy de uma aplicação Laravel em uma VPS rodando Ubuntu com o servidor... Leia mais

Controlando um Semáforo e Servo Motor com Arduino: Um Projeto Prático para Iniciantes

Controlando um Semáforo e Servo Motor com Arduino: Um Projeto Prático para Iniciantes

A robótica e a eletrônica são áreas fascinantes que combinam criatividade e lógica para construir soluções incríveis. Hoje, vamos explorar... Leia mais