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.
Como garantir que seu site seja seguro com strip_tags() no PHP
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 comhtmlspecialchars()para evitar problemas de segurança. - Evite confiar em dados não sanitizados, especialmente quando forem exibidos em uma página web.
Cláudia Medeiros
Especialista em segurança de software, desempenho de APIs e gestão de infraestrutura em nuvem.
Mais sobre o autor