Encode HTML PHP

Encode HTML PHP
HTML s'appuie fortement sur l'utilisation des balises et des caractères spéciaux. Certains caractères spéciaux dans HTML contiennent une signification particulière qui oblige à être utilisées avec prudence.

Par exemple, les balises telles que sont parmi les caractères les plus utilisés de HTML. Bien qu'ils ne représentent aucune menace par eux-mêmes, lorsqu'ils sont mal utilisés, ils peuvent briser toute la page Web.

Ces caractères HTML posent également une faille de sécurité importante, en particulier dans les applications Web dynamiques. Cela peut conduire à l'injection de code malveillant tel que JavaScript et les données de formulaire.

L'essence de ce guide est de vous montrer comment vous pouvez utiliser PHP pour encoder ou «désinfecter» des caractères HTML. L'encodage de tels caractères dans des sites Web dynamiques empêchera les scripts croisés et protégera la page Web contre la rupture.

Qu'est-ce que l'encodage?

L'encodage fait référence au processus de conversion des caractères réservés en entités de caractères HTML. Les entités de caractères HTML sont exprimées comme &value; où la «valeur» représente une abréviation ou un nombre pour chaque caractère.

HTML propose une collection complète d'entités. Cependant, nous n'avons qu'à nous préoccuper de quatre d'entre eux à des fins de codage:

  1. < - <
  2. > ->
  3. & - &
  4. = - "

Laissez-nous savoir comment nous pouvons utiliser PHP pour coder ces caractères.

Fonctions de codage PHP

PHP a deux fonctions principales que vous pouvez utiliser pour coder les caractères HTML.

  1. HtmlSpecialChars ()
  2. Htmlentities ()

Les fonctions htmlSpecialChars () codent pour les quatre caractères principaux (ci-dessus) tandis que la fonction htmentitités () codera tous les caractères comme possible.

Laissez-nous apprendre à utiliser les deux fonctions.

Php htmlSpecialChars ()

Cette fonction convertit tous les caractères HTML spéciaux ou réservés en entités HTML. Bien que vous puissiez spécifier, la fonction ignorera les devis uniques par défaut.

La syntaxe générale de la fonction est comme indiqué:

htmlentities (string $ string, int $ draps bool);

La fonction accepte la chaîne contenant le HTML à coder. Vous pouvez également spécifier des valeurs de drapeau qui vous permettent de modifier le fonctionnement de la méthode.

PHP vous permet également de spécifier la méthode de codage que vous souhaitez utiliser pour les entités HTML. L'image suivante montre lessets pris en charge.

L'exemple suivant montre comment utiliser la méthode htmlSpecialChars ().

$ str = "Html utilise pour Mots clés"
echo htmlSpecialChars ($ str);
?>

L'exemple ci-dessus codera les caractères HTML spécifiés dans la variable $ str.

La sortie est comme indiqué:

HTML utilise < and > pour Mots clés

Si vous souhaitez que la fonction traite des citations simples et doubles, vous pouvez utiliser un drapeau comme indiqué dans l'exemple ci-dessous:

$ str = "Une seule citation comme 'et' sera ignorée par défaut";
echo htmlSpecialChars ($ str, ent_quotes);
?>

Une fois que vous avez exécuté le code ci-dessus, la fonction traitera les devis uniques et donnera une sortie comme indiqué:

Une seule citation comme 'et' sera ignorée par défaut

Php htmlentities ()

Nous examinerons le prochain personnage d'encodage est le php htmlentitités (). Cette fonction convertit tous les caractères HTML applicables aux entités HTML. C'est un choix parfait lorsque vous avez besoin de traiter votre HTML en toute sécurité.

La syntaxe générale de la fonction est comme indiqué:

htmlentities (string $ string, int int draps);

La fonction est très similaire à htmlSpecialChars () sauf qu'il traite tous les caractères qu'il peut par défaut.

L'exemple suivant vous montre comment utiliser la fonction htmlentitités ().

$ str = "

C'est valide Code HTML

"
Echo Htmlentities ($ str);
?>

Le code ci-dessus doit renvoyer toutes les balises converties en entités comme:

C'est valide Code HTML

Semblable à la fonction htmlSpecialCars (), il prend en charge les drapeaux et le charme de codage. Vérifiez la documentation pour en savoir plus.

Conclusion

Dans ce guide, vous avez appris comment les bases du codage des personnages HTML. Vous avez également appris à utiliser PHP pour convertir les caractères HTML en entités HTML.

Merci d'avoir lu et restez à l'écoute pour plus.