Que faire si les entités html php sont tronquées

藏色散人
Libérer: 2023-03-14 14:56:01
original
1564 Les gens l'ont consulté

Solution aux entités html php tronquées : 1. Utilisez "htmlentities($str,ENT_COMPAT,"GB2312")" ; 2. Affichez "htmlspecialchars($str)".

Que faire si les entités html php sont tronquées

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'
Copier après la connexion

Sortie du navigateur :

utilisation des caractères spéciaux html

& (et) est converti en &
" (guillemets doubles) est converti en "
< converti en < ;
> (Supérieur à) Convertir en >

Exemple

$str = "John & &#39;Adams&#39;"; 
 echo htmlspecialchars($str, ENT_COMPAT); 
 echo " 
 "; 
 echo htmlspecialchars($str, ENT_QUOTES); 
 echo " 
 "; 
 echo htmlspecialchars($str, ENT_NOQUOTES); 
 ?>
Copier après la connexion

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 & ' " < et >

Effet :

$str = &#39;<a href="demo.php?m=index&a=index&name=中文" rel="external nofollow" rel="external nofollow" >测试页面</a>&#39;;
Copier après la connexion
Copier après la connexion

echo 'htmlentities spécifie l'encodage GB2312 : '.htmlentities($str,ENT_COMPAT,"GB2312").'';

echo 'htmlentities ne spécifie pas l'encodage : '.htmlentities($str).'';

$str = &#39;<a href="demo.php?m=index&a=index&name=中文" rel="external nofollow" rel="external nofollow" >测试页面</a>&#39;;
Copier après la connexion
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal