Maison > Article > développement back-end > Que faire si les entités html php sont tronquées
Solution aux entités html php tronquées : 1. Utilisez "htmlentities($str,ENT_COMPAT,"GB2312")" ; 2. Affichez "htmlspecialchars($str)".
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur Dell G3.
php htmlentities Que faire si le code est tronqué ?
Les entités html en php posent le problème que le chinois ne peut pas être interrogé
En php, htmlspecialchars convertit les caractères spéciaux au format HTML, tandis que htmlentities convertit tous les caractères en chaînes HTML.
utilisation des entités html
$str = "John & 'Adams'"; echo htmlentities($str, ENT_COMPAT); echo " "; echo htmlentities($str, ENT_QUOTES); echo " "; echo htmlentities($str, ENT_NOQUOTES); ?> John & 'Adams' John & 'Adams' John & 'Adams'
Sortie du navigateur :
utilisation des caractères spéciaux html
& (et) est converti en &
" (guillemets doubles) est converti en "
d3c38aadb51471a5d962442529747632 (Supérieur à) Convertir en >
Exemple
$str = "John & 'Adams'"; echo htmlspecialchars($str, ENT_COMPAT); echo " "; echo htmlspecialchars($str, ENT_QUOTES); echo " "; echo htmlspecialchars($str, ENT_NOQUOTES); ?>
Leur différence
Les fonctions de ces deux fonctions sont de convertir des caractères en codage de caractères HTML, en particulier les URL et les chaînes de code. Empêcher l'exécution des balises de caractères par le navigateur. Il n'y a aucune différence lors de l'utilisation du chinois, mais htmlentities formatera les caractères chinois de manière à ce que l'entrée chinoise soit tronquée.
htmlentities convertit toutes les balises html, htmlspecialchars formate uniquement les symboles spéciaux & ' " 16c874977c0ec376136df4dbc6fc1c03
Effet :
$str = '<a href="demo.php?m=index&a=index&name=中文" rel="external nofollow" rel="external nofollow" >测试页面</a>';
echo 'htmlentities spécifie l'encodage GB2312 : '.htmlentities($str,ENT_COMPAT,"GB2312").'';
echo 'htmlentities ne spécifie pas l'encodage : '.htmlentities($str).'';
$str = '<a href="demo.php?m=index&a=index&name=中文" rel="external nofollow" rel="external nofollow" >测试页面</a>';
echo htmlspecialchars ( $str).'';
Apprentissage recommandé : "Tutoriel vidéo 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!