Logo du Blog de Nukium (Samuel Sanchez)

Ressources & tutoriels : PHP – CodeIgniter – Développement Web

Plugin unicode2iso pour CodeIgniter

Plugin unicode2iso pour CodeIgniter

3 avr 2009

Plugin gérant la conversion UTF-8 vers ISO-8859-1 avec conservation des balises HTML

J’ai été confronté à une problématique assez déroutante au premier abord lorsqu’on est habitué à travailler en full UTF-8 depuis longtemps…

En effet, lorsqu’on veux afficher en ISO-8859-1 des données enregistrées en UTF-8 contenant du texte ainsi que des balises HTML et que l’on veux utiliser les caractères spéciaux HTML (é etc…), htmlentities ne fonctionne pas.

En effet, les balises HTML sont naturellement remplacées par des caractères spéciaux HTML par htmlentities, ce qui est logique.

Par exemple, la donnée : hé hé<br /> sera remplacée par :

h&eacute; h&eacute; &lt;br /&gt;

On perd ainsi les balises HTML et donc logiquement la mise en forme des données.

La solution pour effectuer la conversion d’encodage ainsi que l’utilisation des caractères spéciaux HTML en conservant les balises HTML existantes est simple, il vas falloir venir manuellement reconstituer les balises HTML après l’utilisation de htmlentities.

C’est pourquoi j’ai créé un plugin pour CodeIgniter permettant d’effectuer cet algorythme. En plus de cela, le plugin permet de définir les balises HTML à conserver, ce qui vous permettra d’effectuer tout de même des restriction sur les balises HTML non autorisées.

Ce plugin est entièrement gratuit :)

(See this page in english…)

Installation

  1. Téléchargez le fichier et placez le dans le répertoire system/plugins de CodeIgniter
  2. Chargez le plugin dans votre contrôleur ou auto-chargez le via le fichier autoload.php de CodeIgniter

Utilisation

$this->load->plugin('unicode2iso');
 
echo unicode2iso($yourString);

Téléchargement

Télécharger le plugin unicode2iso pour CodeIgniter