Maison  >  Article  >  développement back-end  >  Utilisez html_entity_decode pour implémenter l'évasion d'entité HTML en php

Utilisez html_entity_decode pour implémenter l'évasion d'entité HTML en php

不言
不言original
2018-06-13 09:22:062500parcourir

Cet article présente principalement les informations pertinentes sur html_entity_decode en PHP pour implémenter l'échappement d'entité HTML. Les amis qui en ont besoin peuvent s'y référer

J'ai récemment rencontré un problème avec les données contenant des guillemets chinois et les résultats. ont été échappés et stockés. Accédez à la base de données et utilisez htmlspecialchars_decode pour échapper aux entités lors de la récupération des données. Il s'avère que cela ne prend pas effet et ne prend en charge que 5 conversions d'entités spécifiées. marques "ldrquo;]

J'ai donc trouvé que html_entity_decode peut échapper à toutes les entités~

De plus, si vous le testez dans le navigateur, vous constaterez qu'il est échappé. Ceci c'est parce que le navigateur a automatiquement été traité. En fait, il n'y a pas de conversion en retour. Vous pouvez l'essayer sur la ligne de commande ~~

html_entity_decode : Convertissez toutes les entités html en caractères d'origine

Contrairement à htmlentities()

Plus précisément, cette fonction décode toutes les entités (y compris toutes les entités numériques) : a) doit être valide pour le type de document sélectionné - c'est à dire pour XML, Cette fonction ne décode pas les noms entités qui peuvent être définies dans certaines DTD - et b) où le ou les caractères se trouvent dans le jeu de caractères de codage associé au codage sélectionné et sont autorisés dans le type de document sélectionné. Toutes les autres entités restent telles quelles.

htmlspecialchars_decode : reconvertit les entités HTML spéciales en caractères normaux

Cette fonction est juste le contraire de htmlspecialchars(). Il reconvertit les entités HTML spéciales en caractères normaux.

Les entités à convertir sont : &, " (lorsque ENT_NOQUOTES n'est pas défini), ' (lorsque ENT_QUOTES est défini), 16c874977c0ec376136df4dbc6fc1c03.

Il ne peut donc pas être inclus dans les 5 autres conversions ci-dessus


Convertir les entités HTML en caractères :

La sortie HTML du code ci-dessus est la suivante (voir le code source) :
<?php
$str = "<© W3CSçh°°¦§>";
echo html_entity_decode($str);
?>

La sortie du code ci-dessus dans le navigateur est la suivante :
<!DOCTYPE html>
<html>
<body>
<© W3CSçh°°¦§>
</body>
</html>

9225246df3cb2376f04d08361483f02c

Ce qui précède est le contenu de cet article Tout le contenu, j'espère qu'il sera utile à l'apprentissage de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois

Recommandations associées :

Comment utiliser. PHP pour gérer la fonction de téléchargement de plusieurs images et de leur compression


Comment résoudre le problème du délai d'expiration du service de demande de curl et de savon en php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn