Maison >interface Web >js tutoriel >Comment puis-je transmettre en toute sécurité des variables PHP contenant des guillemets et des nouvelles lignes à JavaScript ?

Comment puis-je transmettre en toute sécurité des variables PHP contenant des guillemets et des nouvelles lignes à JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-17 18:32:15476parcourir

How Can I Safely Pass PHP Variables Containing Quotes and Newlines to JavaScript?

Passer des variables PHP aux variables JavaScript

Problème :

Vous devez transférer des chaînes PHP contenant des guillemets et des nouvelles lignes vers les variables JavaScript. Les méthodes traditionnelles comme 直接输出PHP代码 ne gèrent pas ces caractères spéciaux correctement.

Réponse :

Utilisation de json_encode() :

<script>
  var myvar = <?= json_encode($myVarValue, JSON_UNESCAPED_UNICODE); ?>;
</script>

Cette méthode nécessite :

  • PHP 5.2.0 ou version ultérieure
  • $myVarValue encodé en UTF-8

json_encode() convertit la chaîne PHP en une représentation JSON tout en préservant Unicode caractères.

Considérations :

  • Si vous transmettez la chaîne codée en JSON aux attributs HTML (par exemple, onclick), assurez-vous de la transmettre via htmlspecialchars () pour éviter les problèmes potentiels d'entité HTML.

    htmlspecialchars(json_encode($string), ENT_QUOTES);

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