Fonction htmlentities() de PHP

Définition et usage La fonction htmlentities()


PHP references des fonctions PHP

(PHP 4, PHP 5)

htmlentities — Convertit tous les caractères éligibles en entités HTML

La fonction htmlentities()

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

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

Syntaxe

              htmlentities(string,quotestyle,character-set)
           
 
Paramètre Description

string

Requis. Spécifie la chaîne à décoder

quotestyle

Facultatif. 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) : Les modèles disponibles de citation sont :

  • 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.

character-set

Facultatif. Une chaîne qui spécifie quel jeu de caractères  employer.

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.

  •  Shift_JIS - Japonais
  • EUC-JP - Japonais

Exemple 1 Sélectionner le code

  
<?php $chaine = 'Un \'apostrophe\' en <strong>gras</strong>'; // Affiche : Un 'apostrophe' en &lt;strong&gt;gras&lt;/strong&gt; echo htmlentities($chaine); // Affiche : Un &#039;apostrophe&#039; en &lt;strong&gt;gras&lt;/strong&gt; echo htmlentities($chaine, ENT_QUOTES); ?>

Le résultat de navigateur du code ci-dessus sera :


	  Un 'apostrophe' en <strong>gras</strong>
	  Un 'apostrophe' en <strong>gras</strong>
           
 

Si vous regardez le « code source » dans la fenêtre de navigateur, vous verrez le HTML suivant :

   
	Un 'apostrophe' en &lt;strong&gt;gras&lt;/strong&gt;
	<br />
	Un &#039;apostrophe&#039; en &lt;strong&gt;gras&lt;/strong&gt; 
       
 

Exemple 2 Sélectionner le code

  <?php
  $chaine = "\x8F!!!";
  
  // Affiche une chaine vide
  echo htmlentities($chaine, ENT_QUOTES, "UTF-8");
  
  echo " <br
  /> "
  // Affiche "!!!"
  echo htmlentities($chaine, ENT_QUOTES | ENT_IGNORE, "UTF-8");
  ?>               
           
 

Le réultat de navigateur du code ci-dessus sera :


               
              !!!
           
 


Par carabde 22 Aout 2014