Admin

Menu

/ Accueil / PHP/MySQL / Astuces

< Afficher le code html sur une page />
// Ecrit le 22/02/2009 à 19:21:17 par Arthezius

Article Commentaires

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:

&lt;h1&gt;éssai&lt;/h1&gt;



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:

&lt;h1&gt;éssai&lt;/h1&gt;


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>&eacute;ssai</h1>


Le caractère é étant bien remplacé par l'entité html &eacute;

Bookmark and Share

Retour / Astuces - Haut de page

Site créé par Arthezius © 2008-2012