/ Accueil / PHP/MySQL / Astuces
Selon les situations il peut être parfois utile d'afficher un extrait ou tout simple un code complet d'une page html. Toutefois, si on affiche directement le code, celui-ci est aussitôt appliqué et viendra donc s'intégrer dans le reste de la page ce qui n'est pas le but.
Il existe heureusement des fonctions en PHP prévue à cet effet.
htmlspecialchars()
Cette fonction va remplacer les balises HTML par des entités HTML. C'est à dire que les caractère <> des balises seront convertie et ces balises ne seront plus considéré comme tel.
Exemple:
<?php
$code= '<h1>éssai</h1>';
echo htmlspecialchars($code);
?>
Affichera:
"<h1>éssai</h1>"
Le code source étant:
<h1>éssai</h1>
htmlentities()
Cette fonction aura en partie le même effet mais convertira également tout le reste des caractères spéciaux dont les caratères accentués.
Exemple:
<?php
$code= '<h1>éssai</h1>';
echo htmlentities($code);
?>
Suivant l'encodage de la page, l'affichage sera différent.
En UTF-8, s'affichera:
"<h1>éssai</h1>"
Le code source sera en effet:
<h1>éssai</h1>
Lors de l'utilisation de la fonction htmlentities() en utf-8, un problème d'encodage survint. Il faut donc utiliser la fonction utf8_decode() en supplément pour afficher correctement le texte.
<?php
$code= '<h1>éssai</h1>';
echo htmlentities(utf8_decode($code));
?>
En ISO-8859-1, s'affichera:
"<h1>éssai</h1>"
Le code source étant:
<h1>éssai</h1>
Le caractère é étant bien remplacé par l'entité html é
Retour / Astuces - Haut de page
Site créé par Arthezius © 2008-2012