Maison >développement back-end >tutoriel php >La différence entre les fonctions php htmlspecialchars() et strip_tags

La différence entre les fonctions php htmlspecialchars() et strip_tags

怪我咯
怪我咯original
2017-06-08 14:15:281969parcourir

Les fonctions php htmlspecialchars() et strip_tags formatent toutes deux les codes HTML. Beaucoup de gens pensent que les fonctions de htmlentities et htmlspecialchars sont les mêmes, mais sont-elles vraiment les mêmes ? sont deux fonctions. Cet article vous fera découvrir la différence entre la fonction php htmlspecialchars() et strip_tags

Tout d'abord, jetons un coup d'œil aux exemples d'utilisation de la fonction htmlspecialchars et de la fonction strip_tags :

<?php
$str="<a href=&#39;http://www.php.cn&#39;>php中文网</a>";
echo htmlspecialchars($str);
echo "<br><br>";
echo strip_tags($str);
?>

Le code exécute le résultat de sortie du navigateur :

La différence entre les fonctions php htmlspecialchars() et strip_tags

Affichez le code source de la page, le résultat est le suivant :

<a href=&#39;http://www.php.cn&#39;>php中文网&#39;"</a><br/><br/>php中文网&#39;"

Comme le montre le résultat, htmlspecialchars La différence entre () et strip_tags est la suivante :

Différence 1 :

la fonction strip_tags est utilisée pour supprimer les balises HTML, alors que htmlspecialchars ne le fait pas supprime les balises HTML, mais convertit uniquement les balises en instances HTML, donc la seconde La plus grande différence entre elles est que l'une consiste à supprimer les balises HTML et l'autre à convertir les balises HTML en d'autres caractères.

Différence 2 :

Si la balise de la chaîne qui doit être supprimée de la balise HTML est à l'origine erronée, par exemple si le symbole supérieur à est manquant, une erreur sera renvoyée lorsque en utilisant la fonction strip_tags, alors que htmlspecialchars ne le fait pas. Il y aura des erreurs et il sera toujours converti en entités HTML.

Troisième différence :

Lors de la prévention des attaques XSS, il est généralement recommandé d'utiliser la fonction htmlspecialchars, car bien que strip_tags puisse supprimer les balises HTML, il ne supprimera pas "ou". Donc même si vous utilisez strip_tags , vous devez toujours utiliser la fonction htmlspecialchars pour filtrer " ou '

dans la soumission du formulaire ou dans le forum des utilisateurs. Si vous souhaitez que les données d'origine soient sorties avec le navigateur, veuillez utiliser la fonction htmlspecialchars au lieu de la fonction strip_tags.

[Recommandations d'articles connexes]

Une brève introduction aux fonctions htmlspecialchars, strip_tags et addlashes en php

php supprime les balises de chaîne strip_tags ( ) Explication détaillée des exemples de fonctions

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn