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
Libérer: 2024-12-23 06:03:20
original
792 Les gens l'ont consulté

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.";
Copier après la connexion

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

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

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

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal