Derniers tutoriels de développement web
 

PHP htmlentities() Function

<PHP chaîne de référence

Exemple

Convertir des caractères à des entités HTML:

<?php
$str = "<© W3School>";
echo htmlentities($str);
?>

La sortie HTML du code ci - dessus sera (View Source) la (View Source) :

<!DOCTYPE html>
<html>
<body>
&lt;&copy; W3S&ccedil;h&deg;&deg;&brvbar;&sect;&gt;
</body>
</html>

La sortie du navigateur du code ci-dessus sera:

<© W3School>
»Exécuter exemple

Définition et utilisation

Le htmlentities() fonction convertit les caractères en entités HTML.

Conseil: Pour convertir les entités HTML Retour aux caractères, utilisez la html_entity_decode() fonction.

Astuce: Utilisez le get_html_translation_table() fonction pour retourner la table de traduction utilisée par htmlentities() .


Syntaxe

htmlentities( string,flags,character-set,double_encode )

Paramètre La description
string Champs obligatoires. Indique la chaîne à convertir
flags Optionnel. Indique comment gérer les citations, invalides codage et le type de document utilisé.

Les styles de citation disponibles sont:

  • ENT_COMPAT - Par défaut. Encode uniquement des guillemets doubles
  • ENT_QUOTES - Encode guillemets doubles et simples
  • ENT_NOQUOTES - ne code pas pour des citations

Invalid encodage:

  • ENT_IGNORE - Ignore invalide encodage au lieu d'avoir la fonction retourne une chaîne vide. Devrait être évitée, car elle peut avoir des répercussions sur la sécurité.
  • ENT_SUBSTITUTE - Remplace invalide codant pour un jeu de caractères spécifié par un caractère de remplacement Unicode U + FFFD (UTF-8) ou & # FFFD; au lieu de retourner une chaîne vide.
  • ENT_DISALLOWED - Remplace points de code qui ne sont pas valides dans le DOCTYPE indiquée par un caractère de remplacement Unicode U + FFFD (UTF-8) ou & # FFFD;

drapeaux supplémentaires pour spécifier le type de document utilisé:

  • ENT_HTML401 - Par défaut. Poignée code HTML 4.01
  • ENT_HTML5 - Code Handle HTML 5
  • ENT_XML1 - Code Handle XML 1
  • ENT_XHTML - Code poignée XHTML
character-set Optionnel. Une chaîne qui spécifie le jeu de caractères à utiliser.

Les valeurs autorisées sont:

  • UTF-8 - Par défaut. ASCII compatible multi-octets de 8 bits Unicode
  • ISO-8859-1 - Europe occidentale
  • ISO-8859-15 - Europe occidentale (ajoute le signe Euro + lettres français et finlandais, qui manquent dans la norme ISO-8859-1)
  • CP866 - charset cyrillique spécifique DOS
  • 1251 - charset cyrillique spécifiques à Windows
  • CP1252 - charset Windows spécifique pour l'Europe occidentale
  • KOI8-R - russe
  • GRAND5 - chinois traditionnel, utilisé principalement à Taiwan
  • GB2312 - Chinois simplifié, Norme nationale
  • GRAND5-HKSCS - Big5 avec les extensions Hong Kong
  • Shift_JIS - Japonais
  • EUC-JP - Japonais
  • MacRoman - character-set qui a été utilisé par Mac OS

Note: jeux de caractères non reconnus seront ignorés et remplacés par ISO-8859-1 dans les versions antérieures à PHP 5.4. PHP 5.4, il sera ignoré une remplacé par UTF-8.

double_encode Optionnel. Une valeur booléenne qui spécifie si pour coder des entités html existantes ou non.
  • TRUE - Par défaut. Convertira tout
  • FAUX - N'encoder des entités html existantes

Détails techniques

Valeur de retour: Renvoie la chaîne convertie

Si la chaîne contient invalide l' encodage, il retournera une chaîne vide, à moins que ce soit le ENT_IGNORE ou drapeaux ENT_SUBSTITUTE sont fixés
PHP Version: 4+
changelog: La valeur par défaut pour le paramètre jeu de caractères a été changé en UTF-8 en PHP 5

ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 et ENT_XHTML ont été ajoutés en PHP 5.4

ENT_IGNORE a été ajouté en PHP 5.3

Le paramètre double_encode a été ajouté en PHP 5.2.3

Le paramètre character-set a été ajouté en PHP 4.1

autres exemples

Exemple 1

Convertir des caractères à des entités HTML:

<?php
$str = "Jane & 'Tarzan'";
echo htmlentities($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlentities($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlentities($str, ENT_NOQUOTES); // Does not convert any quotes
?>

La sortie HTML du code ci - dessus sera (View Source) la (View Source) :

<!DOCTYPE html>
<html>
<body>
Jane &amp; 'Tarzan'<br>
Jane &amp; &#039;Tarzan&#039;<br>
Jane &amp; 'Tarzan'
</body>
</html>

La sortie du navigateur du code ci-dessus sera:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
»Exécuter exemple

exemple 2

Convertir des caractères à des entités HTML en utilisant l'Europe occidentale jeu de caractères:

<?php
$str = "My name is yvind Åsane. I'm Norwegian.";
echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); // Will only convert double quotes (not single quotes), and uses the character-set Western European
?>

La sortie HTML du code ci - dessus sera (View Source) la (View Source) :

<!DOCTYPE html>
<html>
<body>
My name is &Oslash;yvind &Aring;sane. I&#039;m Norwegian.
</body>
</html>

La sortie du navigateur du code ci-dessus sera:

My name is yvind Åsane. I'm Norwegian.
»Exécuter exemple

<PHP chaîne de référence