Removendo tags HTML e PHP com strip_tags() no PHP

A função strip_tags() no PHP remove tags HTML e PHP de uma string, tornando o conteúdo mais seguro e adequado para exibição.

Como funciona a função strip_tags() no PHP

A função strip_tags() no PHP é utilizada para remover todas as tags HTML e PHP de uma string. Isso é importante para garantir que o conteúdo seja exibido como texto puro, sem a possibilidade de execução de código indesejado. A sintaxe básica é:

$nova_string = strip_tags($string, $permitir);

Exemplo básico

Se você tem uma string contendo código HTML e deseja removê-lo, pode usar strip_tags(). Exemplo:

$texto = '<b>Texto em negrito</b><script>alert("Hackeado!")</script>';
$texto_limpo = strip_tags($texto);
echo $texto_limpo; // Saída: Texto em negrito

Neste exemplo, as tags <b> e <script> são removidas, deixando apenas o texto 'Texto em negrito'.

Permitir tags específicas

Você também pode permitir algumas tags HTML específicas enquanto remove outras. Para isso, basta passar o segundo parâmetro com as tags que deseja manter. Exemplo:

$texto = '<b>Texto em negrito</b><i>Texto em itálico</i>';
$texto_limpo = strip_tags($texto, '<b>');
echo $texto_limpo; // Saída: <b>Texto em negrito</b>Texto em itálico

Aqui, a tag <b> foi mantida, mas a tag <i> foi removida.

Usos práticos

A função strip_tags() é frequentemente usada para limpar entradas de usuários antes de exibi-las em páginas web. Isso é útil quando você precisa garantir que o conteúdo exibido seja seguro e não contenha código malicioso. Exemplo de uso em um campo de comentário de usuário:

$comentario = '<script>alert("Hackeado!")</script><p>Comentário legítimo</p>';
$comentario_limpo = strip_tags($comentario, '<p>');
echo $comentario_limpo; // Saída: <p>Comentário legítimo</p>

Aqui, removemos a tag <script> enquanto mantemos a tag <p>.

Considerações sobre segurança

A função strip_tags() pode ser útil para evitar a execução de código malicioso, como scripts injetados, mas não é uma solução completa para segurança. Se você estiver lidando com entradas de usuários, sempre use funções como htmlspecialchars() ou htmlentities() para garantir que o conteúdo não seja interpretado como código executável. Exemplo de uso combinado com htmlspecialchars():

$comentario = '<b>Texto malicioso</b>
Outro texto';
$comentario_escapado = htmlspecialchars(strip_tags($comentario));
echo $comentario_escapado; // Saída: Texto malicioso
Outro texto

Neste exemplo, primeiro removemos as tags HTML e, em seguida, escapamos os caracteres especiais para garantir a segurança.

Conclusão

A função strip_tags() é muito útil para remover tags HTML e PHP de uma string, garantindo que o conteúdo seja exibido como texto puro. Ela é frequentemente usada para limpar entradas de usuários antes de exibi-las na página, mas é importante usá-la com cuidado e combiná-la com outras funções de segurança, como htmlspecialchars(), para evitar vulnerabilidades.

Quando trabalhamos com dados de usuários ou conteúdo dinâmico, a limpeza dos dados é uma etapa fundamental para garantir a segurança da aplicação. A função strip_tags() é uma das principais ferramentas no PHP para remover qualquer código HTML ou PHP indesejado de uma string. Isso ajuda a prevenir ataques como Cross-Site Scripting (XSS), onde o código malicioso é inserido em páginas web e pode ser executado no navegador do usuário. No entanto, para garantir que o conteúdo seja exibido corretamente e com segurança, é sempre recomendável usar strip_tags() em conjunto com funções como htmlspecialchars(), para escapar qualquer conteúdo potencialmente perigoso.

Algumas aplicações:

  • Remover tags HTML e PHP de entradas de usuários antes de exibi-las em páginas web.
  • Limpar conteúdo dinâmico de arquivos ou bancos de dados para garantir que não haja código malicioso.
  • Usar em sistemas de comentários, formulários e outras entradas de usuários para prevenir injeção de código.
  • Garantir que o conteúdo exibido seja apenas texto, sem a possibilidade de execução de código HTML ou JavaScript.

Dicas para quem está começando

  • Se você precisa remover todas as tags HTML e PHP de uma string, use strip_tags().
  • Use strip_tags() com o segundo parâmetro para permitir algumas tags HTML, como

    , , etc.

  • Quando estiver manipulando entradas de usuários, sempre use strip_tags() junto com htmlspecialchars() para evitar problemas de segurança.
  • Evite confiar em dados não sanitizados, especialmente quando forem exibidos em uma página web.

Contribuições de Cláudia Medeiros

Compartilhe este tutorial: strip_tags()

Compartilhe este tutorial

Continue aprendendo:

htmlentities()

A função htmlentities() no PHP converte caracteres especiais em entidades HTML, o que ajuda a proteger sua aplicação contra ataques de XSS.

Tutorial anterior

addslashes()

A função addslashes() no PHP é usada para escapar caracteres especiais, como aspas e barras invertidas, que podem interferir em comandos SQL ou manipulação de dados.

Próximo tutorial