HTML et CSS: Cours tutoriel les tableaux...
Découvrez comment utiliser la fonction get_html_translation_table() en PHP pour gérer les entités HTML et les caractères spéciaux. Guide complet avec exemples pratiques.
PHP Version: 4
Évolution :
- PHP 5 :La valeur par défaut du paramètre de jeu de caractères a été changée en UTF-8 .
- PHP 5.3.4: Le paramètre de jeu de caractères a été ajouté
- PHP 5.4: Les drapeaux additionnels pour spécifier le doctype de la table ; ENT_HTML401, ENT_HTML5, ENT_XML1 et ENT_XHTML ont été ajoutés .
- PHP 8.1.0: flags à changé de ENT_COMPAT à ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
get_html_translation_table — Retourne la table de traduction des entités utilisée par htmlspecialchars() et htmlentities()
Astuce : Certains caractères peuvent être codés de différentes manières. La fonction get_html_translation_table() retourne l'encodage le plus courant.
La fonction get_html_translation_table() renvoie la table de conversion employée par les fonctions htmlentities () et htmlspecialchars ().
get_html_translation_table(fonction,quotestyle,character-set)
Paramètre | Description |
---|---|
fonction |
Facultatif. Spécifie quelle table de conversion à retourner. Par défaut c’est HTML_SPECIALCHARS. Valeurs possibles :
|
quotestyle |
Facultatif. Définit comment coder des guillemets simples et. Par défaut est ENT_COMPAT
|
character-set | Facultatif. Chaîne qui spécifie quel jeu de caractères utiliser. Les valeurs autorisées sont :
| .
Dans cet exemple nous affichons les deux tables de conversion. :
Exemple : Copier le code
<?php print_r (get_html_translation_table()); echo "<br /><br />"; print_r (get_html_translation_table(HTML_ENTITIES)); ?>Exemple2
Exemple avec la table de traduction des caractères en entités HTML. :
Exemple : Copier le code
<?php $trans = get_html_translation_table(HTML_ENTITIES); $chaine = "Hallo & <Frau> & Krämer"; $encoded = strtr($chaine, $trans); echo $encoded; ?>
Exemple 1: Personnalisation des entités HTML
Exemple : Copier le code
<?php // Obtient la table de traduction des entités HTML $table = get_html_translation_table(HTML_SPECIALCHARS); // Ajoute une entité HTML personnalisée pour le symbole copyright (©) $table['©'] = '©'; // Convertit le texte avec les nouvelles entités personnalisées $text = "Le symbole copyright est représenté par © dans HTML."; $encoded_text = strtr($text, $table); echo $encoded_text; ?>
Exemple 2: Conversion sélective d'entités HTML
Exemple : Copier le code
<?php // Obtient la table de traduction des entités HTML complètes $table = get_html_translation_table(HTML_ENTITIES); // Supprime l'entité HTML pour le symbole dollar ($) unset($table['$']); // Convertit le texte en préservant uniquement les autres entités $text = "Le prix de ce produit est de 20$."; $encoded_text = strtr($text, $table); echo $encoded_text; ?>
Fonction precedente: |
Fonction suivante: |
- La table retournée par get_html_translation_table() peut être utilisée pour effectuer des remplacements personnalisés dans le contenu HTML.
- L'utilisation des flags tels que ENT_HTML401 ou ENT_HTML5 peut influencer le comportement des entités générées.
- Avant PHP 8.0.0, la fonction get_html_translation_table() utilisait la constante HTML_SPECIALCHARS comme valeur par défaut pour le paramètre $table. Cependant, depuis PHP 8.0.0, c'est devenu une erreur de ne pas fournir cette valeur explicitement.
Utilisez la fonction get_html_translation_table() avec précaution et assurez-vous de bien comprendre son fonctionnement avant de l'utiliser dans vos projets.
Par carabde 22 Aout 2014