hebrevc
htmlentities
Fonctions sur les chaînes de caractères
PHP Manual

# html_entity_decode

(PHP 4 >= 4.3.0, PHP 5)

html_entity_decode — Convertit toutes les entités HTML en caractères normaux

### Description

string html_entity_decode ( string `$string` [, int `$quote_style` = ENT_COMPAT [, string `$charset` ]] )

html_entity_decode() est la fonction contraire de htmlentities() : elle convertit les entités HTML de la chaîne `string` en caractères normaux.

### Liste de paramètres

`string`

  La chaîne d'entrée.

`quote_style`

  Le paramètre optionnel `quote_style` vous permet de définir ce qu'il adviendra des guillemets simples et doubles. Ce paramètre prend l'une des valeurs suivantes (et la valeur par défaut est `ENT_COMPAT`) :

  Constantes disponibles pour `quote_style`
  Constante | Description
  --- | ---
  `ENT_COMPAT` | Convertit les guillemets doubles et ignore les guillemets simples.
  `ENT_QUOTES` | Convertit les guillemets doubles et les guillemets simples.
  `ENT_NOQUOTES` | Ne convertit aucun guillemet.

`charset`

  Le jeu de caractères ISO-8859-1 est utilisé par défaut, comme paramètre `charset`. Ce paramètre permet de choisir le jeu de caractères utilisé dans la conversion.

  Les jeux de caractères suivants sont disponibles et supportés par PHP 4.3.0 et plus récent.

  Jeux de caractères supportés
  Jeux de caractères | Alias | Description
  --- | --- | ---
  ISO-8859-1 | ISO8859-1 | Europe occidentale, Latin-1
  ISO-8859-15 | ISO8859-15 | Europe occidentale, Latin-9. Dispose du signe Euro, des caractères spéciaux français et finlandais, qui manquent au Latin-1(ISO-8859-1).
  UTF-8 |  | Unicode 8 bits multioctets, compatible avec l'ASCII
  cp866 | ibm866, 866 | Jeu de caractères Cyrillic spécifique à DOS. Ce jeu de caractères est supporté depuis PHP 4.3.2.
  cp1251 | Windows-1251, win-1251, 1251 | Jeu de caractères Cyrillic spécifique à Windows. Ce jeu de caractères est supporté depuis PHP 4.3.2.
  cp1252 | Windows-1252, 1252 | Jeu de caractères spécifique de Windows pour l'Europe occidentale.
  KOI8-R | koi8-ru, koi8r | Russe. Ce jeu de caractères est supporté depuis PHP 4.3.2.
  BIG5 | 950 | Chinois traditionnel, principalement utilisé à Taïwan.
  GB2312 | 936 | Chinois simplifié, officiel.
  BIG5-HKSCS |  | Big5 avec les extensions de Hong Kong, chinois traditionnel.
  Shift_JIS | SJIS, 932 | Japonais
  EUC-JP | EUCJP | Japonais

  > Note: Les autres jeux de caractères ne sont pas reconnus, et le ISO-8859-1 sera utilisé à la place.

### Valeurs de retour

Retourne la chaîne décodée.

### Historique

Version | Description
--- | ---
5.0.0 | Le support des jeux de caractères multi-octets a été ajouté.

### Exemples

Exemple #1 Décoder des entités HTML

`<?php
$orig = 'J\'ai "sorti" le <strong>chien</strong> tout à l\'heure';
$a = htmlentities($orig);
$b = html_entity_decode($a);
echo $a; // J'ai &quot;sorti&quot; le &lt;strong&gt;chien&lt;/strong&gt; tout &amp;agrave; l'heure
echo $b; // J'ai "sorti" le <strong>chien</strong> tout à l'heure
// Pour les utilisateurs ayant des versions antérieures à PHP 4.3.0 :
function unhtmlentities($string)
{
// Remplace les entités numériques
$string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string);
$string = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $string);
// Remplace les entités litérales
$trans_tbl = get_html_translation_table(HTML_ENTITIES);
$trans_tbl = array_flip($trans_tbl);
return strtr($string, $trans_tbl);
}
$c = unhtmlentities($a);
echo $c; // J'ai "sorti" le <strong>chien</strong> tout à l'heure
?>`

### Notes

> Note: Vous pourriez vous demander pourquoi trim(html_entity_decode('&nbsp;')); ne réduit pas la chaîne à la chaîne vide. C'est parce que l'entité &nbsp; n'est pas un code ASCII 32 (qui serait supprimé par trim()), mais un code ASCII 160 (0xa0) dans le jeu de caractères par défaut ISO 8859-1.

### Voir aussi

- htmlentities() - Convertit tous les caractères éligibles en entités HTML
- htmlspecialchars() - Convertit les caractères spéciaux en entités HTML
- get_html_translation_table() - Retourne la table de traduction des entités utilisée par htmlspecialchars et htmlentities
- urldecode() - Décode une chaîne encodée URL

hebrevc
htmlentities
Fonctions sur les chaînes de caractères
PHP Manual