Encodage de chaînes pour la sortie vers des variables JavaScript
Question :
Comment encoder efficacement une chaîne PHP contenant des caractères spéciaux ( par exemple, guillemets, nouvelles lignes) à utiliser dans un langage JavaScript variable ?
Réponse :
Pour encoder une chaîne PHP, l'approche recommandée consiste à exploiter la fonction json_encode() avec JSON_UNESCAPED_UNICODE flag :
<script>
var myvar = <?= json_encode($myVarValue, JSON_UNESCAPED_UNICODE); ?>;
</script>
Considérations :
- Cette méthode nécessite PHP 5.2.0 ou version ultérieure.
- Le $myVarValue doit être encodé comme UTF-8 ou US-ASCII.
- UTF-8 prend en charge l'Unicode complet, permettant pour une conversion sécurisée à la volée.
Remarques supplémentaires :
- Si vous encodez pour une utilisation dans des attributs HTML (par exemple, onclick), utilisez htmlspecialchars( ) pour échapper aux caractères spéciaux :
htmlspecialchars(json_encode($string), ENT_QUOTES);
- Cela résout les problèmes potentiels liés aux séquences de caractères étant interprété comme des entités HTML, garantissant une fonctionnalité appropriée en JavaScript.
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