Fonction htmlentities : opération inverse
Par Armel FAUVEAU, lundi 1 octobre 2001 à 07:43 :: Trucs et Astuces PHP :: #339 :: rss
Existe t-il une fonction inverse à la fonction htmlentities() ? Cette question revient souvent sur les forums et les newsgroups.
La réponse est non, pas directement. Par contre, il est possible de la coder assez simplement. Le script suivant implémente donc une fonction PHP appelé unhtmlentities(). Vous êtes évidement libre de l'appeler autrement.
<?php
function unhtmlentities($chaineHtml) {
$tmp = get_html_translation_table(HTML_ENTITIES);
$tmp = array_flip ($tmp);
$chaineTmp = strtr ($chaineHtml, $tmp);
return $chaineTmp;
}
// Chaine Initiale
$chaine = "je n'ai pas testé<br>mais ca marche !";
echo $chaine."\n";
// Appel de la fonction htmlentities()
$chaineHtml=htmlentities($chaine);
echo $chaineHtml."\n";
// Appel de la fonction unhtmlentities()
$chaineOriginale=unhtmlentities($chaineHtml);
echo $chaineOriginale."\n";
?>
L'éxecution (en ligne de commande) de ce script retournera ceci :chrome:~$ php -q test.php je n'ai pas testé<br>mais ca marche ! je n'ai pas testé<br>mais ca marche ! je n'ai pas testé<br>mais ca marche !Ce qui est bien l'effet obtenu :)
N'hésitez pas à consulter la documentation en ligne afin d'en savoir plus sur les principales fonctions utilisées dans ce script.
get_html_translation_table
array_flip
strstr







Commentaires
#1 - Le mardi 25 avril 2006 à 09:33, par Drizzt
#2 - Le jeudi 29 juin 2006 à 11:20, par web tolosa
#3 - Le mardi 12 septembre 2006 à 14:38, par Morgan Capron
#4 - Le jeudi 22 février 2007 à 10:53, par Aliosha
#5 - Le jeudi 22 février 2007 à 14:58, par Armel FAUVEAU
Ajouter un commentaire
Vous pouvez soumettre un commentaire en remplissant le formulaire ci-dessous. Toutes les contributions font l'objet d'une étape de modération par notre équipe.
Le code HTML dans le commentaire sera affiché comme du texte, les adresses internet seront converties automatiquement.