htmlspecialcharsConvertit les caractères spéciaux en entités HTML
&reftitle.description;
stringhtmlspecialcharsstringstringintflagsENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401stringnullencoding&null;booldouble_encode&true;
Certains caractères ont des significations spéciales en HTML,
et doivent être remplacés par des entités HTML pour conserver
leurs significations. Cette fonction retourne une chaîne de caractères
avec ces modifications. Si vous avez besoin que toutes
les sous-chaînes en entrée qui sont associées à des entités
nommées soient transformées, utilisez la fonction
htmlentities.
Si la chaîne en entrée passée à cette fonction et le document final
partagent le même jeu de caractères, cette fonction est suffisante pour
préparer l'entrée pour une inclusion dans la plupart des contextes
d'un document HTML. Si cependant, l'entrée peut présenter des caractères
qui ne sont pas codés dans le jeu de caractères du document final,
et que vous souhaitez épargner ces caractères (comme des numériques ou
des entités nommés), cette fonction et la fonction htmlentities
(qui n'encodes que les sous-chaînes qui ont des entités nommés équivalentes)
ne sont pas suffisantes. Vous devez utiliser la fonction
mb_encode_numericentity à la place.
Remplacement effectuéCaractèreRemplacement& (ET commercial)&" (double guillement)" sauf si ENT_NOQUOTES' (simple guillemet)' (pour ENT_HTML401) ou
' (pour
ENT_XML1, ENT_XHTML ou
ENT_HTML5), mais seulement lorsque
ENT_QUOTES est défini
< (inférieur à)<> (supérieur à)>
&reftitle.parameters;
string
La chaîne à convertir.
flags
Un masque bit d'un ou plusieurs drapeaux suivants, qui déterminent la façon
dont les guillemets seront gérés, dont les séquences de code invalide seront
gérées ainsi que le type du document utilisé. Par défaut, c'est
ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
Constantes disponibles pour flagsConstanteDescriptionENT_COMPATConvertit les guillemets doubles, et ignore les guillemets simples.ENT_QUOTESConvertit les guillemets doubles et les guillemets simples.ENT_NOQUOTESIgnore 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. L'utilisation de ce drapeau est fortement
déconseillé pour des
raisons de sécurité.
ENT_SUBSTITUTE
Remplace les séquences de code invalide avec un caractère de remplacement
Unicode U+FFFD (UTF-8) ou � (sinon) au lieu de retourner une
chaîne vide.
ENT_DISALLOWED
Remplace les points du code invalides du document fourni avec
un caractère de remplacement Unicode U+FFFD (UTF-8) ou �
(sinon) au lieu de le laisser tel quel. Ceci peut être utile pour,
par exemple, s'assurer du bon formatage de documents XML contenant
du contenu externe.
ENT_HTML401
Gère le code comme étant du HTML 4.01.
ENT_XML1
Gère le code comme étant du XML 1.
ENT_XHTML
Gère le code comme étant du XHTML.
ENT_HTML5
Gère le code comme étant du HTML 5.
encoding
&strings.parameter.encoding;
Pour cette fonction, les encodages
ISO-8859-1, ISO-8859-15,
UTF-8, cp866,
cp1251, cp1252, et
KOI8-R sont équivalents, à condition
que le paramètre string soit valable
pour l'encodage, dans le sens où les caractères affectés par la fonction
htmlspecialchars occupent la même position
dans tous ces encodages.
&reference.strings.charsets;
double_encode
Lorsque le paramètre double_encode est désactivé,
PHP n'encodera pas les entités html existants ; par défaut, tout est converti.
&reftitle.returnvalues;
La chaîne convertie.
Si la chaîne d'entrée string contient une
séquence de code invalide dans le paramètre
encoding fourni, une chaîne vide sera retournée
à moins que le drapeau ENT_IGNORE ou
ENT_SUBSTITUTE ne soit défini.
&reftitle.changelog;
&Version;&Description;8.1.0flags à changé de ENT_COMPAT à
ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
&reftitle.examples;
Exemple avec htmlspecialchars
Test", ENT_QUOTES);
echo $new; // <a href='test'>Test</a>
?>
]]>
&reftitle.notes;
Notez que cette fonction ne fait aucun autre remplacement que ceux
qui sont listés ci-dessus. Pour faire un remplacement total,
voyez plutôt htmlentities.
Dans le cas d'une valeur ambigue pour flags,
les règles suivantes s'appliquent :
Quand aucun de ENT_COMPAT,
ENT_QUOTES,
ENT_NOQUOTES est présent,
la valeur par défaut est ENT_NOQUOTES.
Quand plus d'un des ENT_COMPAT,
ENT_QUOTES,
ENT_NOQUOTES sont présent,
ENT_QUOTES prend la plus haute priorité,
suivi de ENT_COMPAT.
Quand aucun de ENT_HTML401,
ENT_HTML5,
ENT_XHTML, ENT_XML1 est présent,
la valeur par défaut est ENT_HTML401.
Quand plus d'un des ENT_HTML401,
ENT_HTML5,
ENT_XHTML, ENT_XML1 sont présent,
ENT_HTML5 prend la plus haute priorité,
suivi de ENT_XHTML, ENT_XML1 et
ENT_HTML401.
Quand plus d'un des ENT_DISALLOWED,
ENT_IGNORE,
ENT_SUBSTITUTE sont présent,
ENT_IGNORE prend la plus haute priorité,
suivi de ENT_SUBSTITUTE.
&reftitle.seealso;
get_html_translation_tablehtmlspecialchars_decodestrip_tagshtmlentitiesnl2br