Maison >développement back-end >tutoriel php >Comment puis-je échapper aux guillemets dans les chaînes PHP pour éviter les erreurs d'analyse ?

Comment puis-je échapper aux guillemets dans les chaînes PHP pour éviter les erreurs d'analyse ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-23 06:03:20786parcourir

How Can I Escape Quotation Marks in PHP Strings to Avoid Parse Errors?

Échapper aux guillemets en PHP

Rencontrer des erreurs d'analyse liées aux guillemets peut être frustrant. Pour résoudre ce problème, explorons différentes approches pour traiter les chaînes de manière cohérente.

Par exemple, vous avez mentionné être confronté à un problème avec la ligne suivante :

$text1 = 'From time to "time" this submerged or latent theater in 'Hamlet'
           becomes almost overt. It is close to the surface in Hamlet's pretense of madness,
           the "antic disposition" he puts on to protect himself and prevent his antagonists
           from plucking out the heart of his mystery. It is even closer to the surface when
           Hamlet enters his mother's room and holds up, side by side, the pictures of the
           two kings, Old Hamlet and Claudius, and proceeds to describe for her the true
           nature of the choice she has made, presenting truth by means of a show.
           Similarly, when he leaps into the open grave at Ophelia's funeral, ranting in
           high heroic terms, he is acting out for Laertes, and perhaps for himself as well,
           the folly of excessive, melodramatic expressions of grief.";

Cette erreur se produit car les guillemets à l'intérieur la chaîne confond l'interprète. Pour résoudre ce problème, vous pouvez échapper les guillemets à l'aide d'une barre oblique inverse (). Ce faisant, PHP reconnaîtra le texte inclus comme une chaîne unique sans interpréter les guillemets.

$text1 = 'From time to \"time\" this submerged or latent theater in 'Hamlet'
...

Vous pouvez également utiliser des guillemets simples pour la chaîne, car PHP ne fait pas de distinction entre les guillemets simples et doubles. pour les chaînes littérales :

$text1 = 'From time to "time"';

Une autre option à considérer consiste à utiliser un hérdoc, qui est un type de chaîne littérale qui utilise le "≪≪≪" et la syntaxe du "terme". Cela vous permet d'inclure plusieurs lignes de texte dans une seule chaîne, ce qui peut être utile pour de grandes quantités de texte. Les Heredocs sont particulièrement utiles lorsque vous devez inclure des guillemets simples et doubles dans la chaîne sans provoquer de problèmes d'analyse.

$heredoc = <<<term
This is a long line of text that include variables such as $someVar
and additionally some other variable $someOtherVar. It also supports having
'single quotes' and "double quotes" without terminating the string itself.
heredocs have additional functionality that most likely falls outside
the scope of what you aim to accomplish.
term;

En mettant en œuvre ces techniques, vous pouvez éviter les erreurs d'analyse causées par les guillemets et vous assurer que vos chaînes sont interprétés correctement dans vos scripts 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