Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Como limpar tags HTML de uma entrada com algumas exceções

Olá!

Gostaria de saber como posso limpar todas as tags HTML de um texto que recebo como entrada, mas permitir salvar sinal o sinal de maior que (>) e menor que (<)?

Exemplo:

$texto = "O resultado da análise informa que o PH deve ser > 5.0";

Resumindo: Deve ser limpado do texto todas as tags html, mas quero permitir esses sinal sem quebrar o texto.

Detalhe importante: o texto contém contagem de palavras.

3 respostas

Paula, não entendi sua dúvida. Nenhuma função do PHP que faz a limpeza de tags vai remover esse >.

Boa tarde, Vinicius!

Deixa eu tentar melhorar a explicação.

Há um texto de resumo de trabalho que deve ser simples e não conter tags html. As palavras desse resumo devem ser contadas.

Acontece que por conta do sinal > no momento da contagem de palavras a aplicação está quebrando acho que por "estourar" o limite de palavras.

Sei que o conteúdo tem sido limpo antes de salvar no banco, só não me recordo se a limpeza está ocorrendo antes ou depois da contagem das palavras.

Nesse cenário, qual fluxo e/ou funções você indicaria para realizar a limpeza das tags e a correta contagem das palavras ?

Desde já agradeço.

solução!

Há um texto de resumo de trabalho que deve ser simples e não conter tags html

Se alguém adicionar um código HTML, você vai remover as tags ou vai modificar o texto para que as tags sejam armazenadas como entidades? Ex.: Se eu enviar: "Isso é <p>o meu texto</p>". Você vai salvar qual das seguintes opções:

  1. "Isso é o meu texto"
  2. "Isso é >p<o meu texto>/p<"

Se for a primeira, basta usar a strip_tags. Se for a segunda, na hora de contar os caracteres você pode pensar em usar html_entity_decode, por exemplo.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software