Menu du jour
Menu de la semaine
Comparaison avec strip_tags
-
Suppression Sélective de Balises :
- strip_tags est une fonction native de PHP qui retire toutes les balises HTML sauf celles spécifiquement autorisées. Il est simple et efficace si votre but est de conserver certaines balises tout en supprimant toutes les autres.
- En revanche, clean_text permet une suppression plus ciblée, en identifiant et supprimant des balises spécifiques et des contenus dangereux comme les scripts, les iframes, les objets, etc.
-
Gestion des Attributs :
- strip_tags ne retire que les balises HTML, sans se soucier des attributs (comme onClick ou onMouseOver). Cela signifie qu'une balise autorisée pourrait encore contenir du code malveillant via ses attributs.
- Votre fonction clean_text ajoute une couche de sécurité supplémentaire en supprimant les attributs on*, ce qui peut empêcher certaines formes d'injections de scripts via des événements JavaScript.
-
Suppression des Liens (URLs) :
- strip_tags ne fait rien pour les URLs insérées en tant que texte brut. Si le texte contient des URLs sans balises HTML, strip_tags ne les touchera pas.
- clean_text, en revanche, identifie les URLs dans le texte et les remplace ou les supprime, ce qui est utile si vous voulez empêcher toute forme de lien hypertexte dans le contenu.
-
Remplacement Personnalisé :
- strip_tags ne permet pas de remplacer du texte ou des balises supprimées. Il les retire simplement.
- Avec clean_text, vous avez la possibilité de remplacer les URLs par un texte spécifique (comme [URL supprimée]), ce qui peut être utile pour informer l'utilisateur que du contenu a été retiré.
Quand Utiliser clean_text au Lieu de strip_tags
-
Cas d'Utilisation : Utilisez clean_text si vous avez besoin de :
- Supprimer des balises HTML spécifiques (par exemple, <script>, <iframe>) tout en laissant intactes d'autres balises.
- Remplacer ou supprimer les URLs dans le texte.
- Supprimer des attributs dangereux comme ceux qui commencent par on*.
-
Performance et Simplicité : Si votre besoin est simplement de retirer toutes les balises HTML sauf quelques-unes, strip_tags est plus simple et probablement plus performant.
Conclusion
Votre fonction clean_text est plus adaptée pour des nettoyages de contenu spécifiques et plus approfondis que strip_tags. Elle permet une gestion plus fine du contenu dangereux, notamment en supprimant les balises spécifiques, en traitant les URLs, et en éliminant les attributs dangereux. Si ces fonctionnalités supplémentaires sont nécessaires pour votre application, alors clean_text est une meilleure solution que strip_tags. Pour des besoins plus simples où vous ne voulez que nettoyer du HTML sans entrer dans les détails, strip_tags pourrait suffire.