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

htmlentities

(PHP 4, PHP 5)

htmlentitiesConvertit tous les caractères éligibles en entités HTML

Description

string htmlentities ( string $string [, int $flags = ENT_COMPAT [, string $charset [, bool $double_encode = true ]]] )

htmlentities() est identique à la fonction htmlspecialchars(), sauf que tous les caractères qui ont des équivalents en entités HTML sont effectivement traduits.

Si vous voulez réaliser l'opération inverse, vous devez utiliser la fonction html_entity_decode().

Liste de paramètres

string

La chaîne d'entrée.

flags

Comme htmlspecialchars(), cette fonction prend un deuxième argument optionnel, qui indique comment doivent être traités les guillemets doubles et simples. Vous pouvez utiliser l'une des constantes suivantes, la valeur par défaut étant ENT_COMPAT :

Constantes disponibles pour flags
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 Ignore les guillemets doubles et les guillemets simples.
ENT_IGNORE Ignore les séquences de caractères invalides plutôt que de retourner une chaine vide. Ajouté en PHP 5.3.0. Introduit pour des raisons de compatibilité, évitez de l'utiliser pour des raisons de sécurité.

charset

Comme htmlspecialchars(), cette fonction prend un troisième argument optionnel charset qui définit le jeu de caractères utilisé durant la conversion. Actuellement, le jeu de caractères ISO-8859-1 est utilisé par défaut.

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.

double_encode

Lorsque double_encode est désactivé, PHP n'encodera pas les entités html existantes. Par défaut, tout est converti.

Valeurs de retour

Retourne la chaîne encodée.

Historique

Version Description
5.3.0 La constante ENT_IGNORE a été ajoutée.
5.2.3 Ajout du paramètre double_encode.
4.1.0 Ajout du paramètre charset.
4.0.3 Ajout du paramètre flags.

Exemples

Exemple #1 Exemple avec htmlentities()

<?php
$str 
'Un \'apostrophe\' en <strong>gras</strong>';

// Affiche : Un 'apostrophe' en &lt;strong&gt;gras&lt;/strong&gt;
echo htmlentities($str);

// Affiche : Un &#039;apostrophe&#039; en &lt;strong&gt;gras&lt;/strong&gt;
echo htmlentities($strENT_QUOTES);
?>

Exemple #2 Utilisation de ENT_IGNORE

<?php
$str 
"\x8F!!!";

// Affiche une chaine vide
echo htmlspecialchars("\x8F!!!"ENT_QUOTES"UTF-8");

// Affiche "!!!"
echo htmlspecialchars("\x8F!!!"ENT_QUOTES ENT_IGNORE"UTF-8");
?>

Voir aussi


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