Manipulando dados de arrays com o método ‘pluck’ em coleções do Laravel
O Laravel é um dos frameworks de desenvolvimento web mais populares e poderosos em uso atualmente. Ele tem muitas características... Leia mais
Desenvolvedor de Software
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.
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:
A solução envolve duas etapas:
preg_replace para corrigir as tags mal formatadas.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;
}
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:
< ou fechamento </.[a-zA-Z0-9]+).(.*?)).Exemplo:
< p > → <p>< /div > → </div>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”.
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:
Esta função é útil em diversos cenários, como:
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! 🚀
O Laravel é um dos frameworks de desenvolvimento web mais populares e poderosos em uso atualmente. Ele tem muitas características... Leia mais
Vamos hoje desenvolver uma atividade que é comum em alguns testes de programação onde iremos desenvolver um simples jogo da... Leia mais
O PostgreSQL 16 ainda não está disponível nos repositórios oficiais do Linux Mint 21, então usaremos o repositório oficial do... Leia mais
Publiquei neste artigo https://paulorb.dev/alternar-entre-multiplas-versoes-no-php/ formas de como instalar diversas versões do PHP em distros Linux mas surgiu um problema que... Leia mais