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.
Contribuições de Cláudia Medeiros