| Ordre
alphabétique |
|
| Par
catégories |
|
| Par
pays |
|
| Par
langue |
|
| PHP
- MYSQL |
|
| Outils
webmasters |
|
| Partenaires |
|
 |
| |
|
html_entity_decode (PHP 4 >= 4.3.0,
PHP 5) |
html_entity_decode
-- Convertit toutes les entités
HTML en caractères normaux
string html_entity_decode
( string string [, int quote_style
[, 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.
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)
Tableau 1. 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. |
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.
Tableau 2. 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 multi octets, 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é à Taiwan. |
| 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.
Note : Cette fonction ne supporte pas
les jeux de caractères multi-octets
dans PHP < 5.
Exemple 1. Décoder des
entités HTML
<?
$orig = 'J\'ai "sorti" le
<strong>chien</strong> tout
à l\'heure';
$a = htmlentities($orig);
$b = html_entity_decode($a);
echo $a; // J'ai "sorti"
le <strong>chien</strong>
tout &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
?>
Note : Vous pourriez vous demander pourquoi
trim(html_entity_decode(' '));
ne réduit pas la chaîne
à la chaîne vide. C'est
parce que l'entité
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(),
get_html_translation_table(),
htmlspecialchars()
et urldecode() |
|
|
|
| |
|
| Menu |
|
| Ressources |
|
| Gifs
animés |
|
| Cliparts |
| |
| Services
divers |
|
 |
| |
|
|