Position actuelle: Accueil> Derniers articles> Comment restaurer les entités HTML sous une forme? Utilisez html_entity_decode pour le faire rapidement

Comment restaurer les entités HTML sous une forme? Utilisez html_entity_decode pour le faire rapidement

gitbox 2025-09-02

Qu'est-ce qu'une entité HTML?

Les entités HTML sont des formes codées de certains caractères, commençant généralement par et se terminant par ;. Les entités HTML courantes comprennent:

  • & lt; correspondant <

  • & gt; Conformité >

  • & amp; correspondant et

  • " Respecter "

  • & nbsp; Espace respecté

Ces entités sont souvent utilisées pour empêcher certains caractères de provoquer des erreurs de syntaxe dans le HTML ou d'affecter le rendu de la page. Lorsque les données de formulaire sont soumises via la demande HTTP, ces caractères peuvent être convertis en entités pour s'assurer qu'elles sont correctement transmises.

Pourquoi dois-je restaurer une entité HTML?

Lorsque les données de formulaire sont soumises au serveur par l'utilisateur, les caractères spéciaux sont souvent échappés en tant qu'entités HTML. Bien que cette évasion aide à la sécurité (éviter l'injection de scripts malveillante), nous devons parfois restaurer ces entités afin que le contenu d'origine soit affiché correctement. Par exemple, si l'utilisateur entre dans une balise HTML contenant <et> et que la balise est échappée à & lt; et & gt;, nous pouvons vouloir restaurer aux caractères réels pour un affichage approprié dans la page.

Comment restaurer une entité HTML à l'aide de html_entity_decode () ?

html_entity_decode () est une fonction intégrée fournie par PHP, qui est principalement utilisée pour convertir les entités HTML en caractères correspondants. L'utilisation de base est la suivante:

 <span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"Hello &amp;lt;world&amp;gt;!"</span></span><span>;
</span><span><span class="hljs-variable">$decoded_string</span></span><span> = </span><span><span class="hljs-title function_ invoke__">html_entity_decode</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$decoded_string</span></span><span>;
</span></span>

Sortir:

 <span><span><span class="language-xml">Hello <span class="hljs-tag">&lt;<span class="hljs-name">world</span></span></span></span><span>&gt;!
</span></span>

Comme indiqué ci-dessus, html_entity_decode () restaure & lt; et & gt; à <et> .

Explication détaillée des paramètres de fonction:

  • html_entity_decode ($ string, $ flags, $ coding) :

    • $ String : La chaîne à traiter, contenant l'entité HTML qui doit être convertie.

    • $ Flags : Paramètre facultatif pour contrôler le processus de conversion. Les logos couramment utilisés sont:

      • ENT_COMPAT (par défaut): Convertir uniquement les citations doubles, pas les citations simples.

      • ENT_QUOTES : Convertir les citations doubles et simples.

      • ENT_NOQUOTES : Aucun guillemet n'est converti.

    • $ Encodage : paramètre facultatif, spécifiez le codage des caractères, par défaut UTF-8 .

Exemple: restaurer toutes les citations

Si vous souhaitez restaurer toutes les entités HTML dans une chaîne, y compris des citations simples et doubles, vous pouvez utiliser le drapeau ent_quotes :

 <span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"It&amp;apos;s a &amp;quot;great&amp;quot; day!"</span></span><span>;
</span><span><span class="hljs-variable">$decoded_string</span></span><span> = </span><span><span class="hljs-title function_ invoke__">html_entity_decode</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, ENT_QUOTES);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$decoded_string</span></span><span>;
</span></span>

Sortir:

 <span><span>It</span><span><span class="hljs-symbol">'s</span></span><span> a </span><span><span class="hljs-string">"great"</span></span><span> day!
</span></span>

Application dans le traitement de formulaire

Supposons que vous ayez un formulaire où l'utilisateur entre dans le texte contenant l'entité HTML. Après l'avoir soumis au serveur, le texte reçu par le serveur peut avoir été une entité HTML échappée. Vous devez restaurer ces entités lors de la présentation des résultats du formulaire. Cette fonction peut être facilement réalisée à l'aide de html_entity_decode () .

Exemple: traitement des données de formulaire

 <span><span><span class="hljs-comment">// Supposons que les données de formulaire reçu ont été effectuéesHTMLÉvasion de l&#39;entité</span></span><span>
</span><span><span class="hljs-variable">$submitted_data</span></span><span> = </span><span><span class="hljs-string">"Hello &amp;lt;strong&amp;gt;world&amp;lt;/strong&amp;gt;!"</span></span><span>;
</span><span><span class="hljs-variable">$decoded_data</span></span><span> = </span><span><span class="hljs-title function_ invoke__">html_entity_decode</span></span><span>(</span><span><span class="hljs-variable">$submitted_data</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$decoded_data</span></span><span>;
</span></span>

Sortir:

 <span><span>Hello &lt;</span><span><span class="hljs-selector-tag">strong</span></span><span>&gt;world&lt;/</span><span><span class="hljs-selector-tag">strong</span></span><span>&gt;!
</span></span>

Via html_entity_decode () , l'entité html qui a été à l'origine échappé peut être restaurée et le contenu peut être affiché correctement.

Résumer

L'évasion et la restauration des entités HTML sont des exigences très courantes lors du développement de formulaires, en particulier lors du traitement de l'entrée des utilisateurs. La fonction html_entity_decode () fournit un moyen simple et efficace de reconvertir les entités HTML à leurs caractères correspondants, aidant les développeurs à mieux contrôler le rendu du contenu dans le traitement de formulaire et la présentation des données.

En utilisant HTML_ENTITY_DECODE () correctement, vous pouvez vous assurer que le texte soumis par l'utilisateur peut être affiché correctement après la restauration, en évitant les erreurs d'affichage ou d'autres problèmes causés par les entités HTML.

  • Étiquettes associées:

    HTML