Échapper aux guillemets en PHP

Subodh Poudel 30 janvier 2023
  1. Utilisez la barre oblique inverse \ avant la citation pour échapper aux guillemets
  2. Utilisez la syntaxe Heredoc <<< pour échapper les guillemets d’une chaîne en PHP
  3. Utilisez les guillemets simples ou les guillemets doubles alternativement pour échapper aux guillemets en PHP
Échapper aux guillemets en PHP

Cet article présentera des méthodes pour échapper au guillemet dans une chaîne en PHP.

Utilisez la barre oblique inverse \ avant la citation pour échapper aux guillemets

Nous pouvons utiliser la barre oblique inverse \ pour échapper les caractères spéciaux en PHP. Lorsque nous essayons d’incorporer les guillemets dans la chaîne en PHP, le script génère une erreur d’analyse. Nous devons donc échapper au guillemet pour que le script s’exécute sans erreur. Nous pouvons utiliser cette technique lorsque nous devons imprimer une chaîne contenant un discours direct. Considérons une phrase au discours direct, She asked me, " Are you going out tonight ?".. Lorsque nous imprimons cette chaîne, une erreur d’analyse sera générée. C’est parce que la chaîne entière sera enveloppée entre les guillemets " ". Lorsque les guillemets avant le Are sont rencontrés pendant le flux du code, le compilateur n’attend pas de chaîne après. Il attend plutôt un point-virgule ou un opérateur de concaténation. Ainsi, le compilateur renvoie une erreur d’analyse.

Par exemple, écrivez des barres obliques inverses juste avant les deux guillemets doubles qui entourent le texte Are you going out today ?. Affectez la chaîne dans une variable $text et imprimez la variable à l’aide de la commande echo. Ainsi, il affichera une phrase de discours direct complète avec des guillemets doubles.

Exemple de code :

#php 7.x
<?php
$text = "She asked me, \" Are you going out tonight ?\"";
echo $text
?>

Production:

She asked me, " Are you going out tonight ?".

Utilisez la syntaxe Heredoc <<< pour échapper les guillemets d’une chaîne en PHP

Nous pouvons utiliser la syntaxe heredoc <<< pour échapper les guillemets d’une chaîne en PHP. Un identifiant suit juste après la syntaxe et la chaîne dans la nouvelle ligne. La chaîne ou le texte à l’intérieur de l’identifiant est appelé texte heredoc. Nous devrions utiliser le même identifiant après la chaîne dans la nouvelle ligne de la première colonne pour indiquer la fin de la heredoc. Nous devrions utiliser le point-virgule après l’identifiant de fermeture pour indiquer la fin. Le texte heredoc est considéré comme étant à l’intérieur de guillemets doubles sans l’utilisation des guillemets doubles. Les guillemets doubles et simples dans le texte heredoc sont automatiquement échappés. Nous pouvons toujours utiliser des variables dans les heredocs et leur appliquer des guillemets.

Par exemple, créez deux variables, $start et $end, pour stocker les chaînes hello et goodbye. Créez une autre variable $heredoc et écrivez-y la syntaxe heredoc <<<. Écrivez un identifiant terme juste après la syntaxe. Dans la ligne suivante, écrivez le texte heredoc. Enveloppez la variable $start avec des guillemets doubles au début du texte. Écrivez le texte We can use the "heredocs" to incorporate the 'single quotes' and the "double quotes" in a string.. Remarque pour envelopper les mots heredocs et doubles guillemets avec des guillemets doubles et le mot single quote avec un guillemet simple comme écrit ci-dessus. À la fin, enveloppez la variable $end avec des guillemets doubles. Dans la ligne suivante, écrivez l’identifiant terme avec un point-virgule après avoir terminé la heredoc. Ensuite, imprimez la variable $heredoc.

L’exemple ci-dessus génère le texte avec un guillemet simple et des guillemets doubles. L’utilisation de la syntaxe heredoc <<< permet d’échapper facilement aux guillemets d’une chaîne en PHP. Veuillez consulter le Manuel PHP pour en savoir plus sur le heredoc.

Exemple de code :

#php 7.x
<?php
$start = "hello";
$end = "goodbye";
$heredoc = <<<term
"$start", We can use the "heredocs" to incorporate the 'single quote' and the "double quotes" in a string. "$end". 
term;
echo $heredoc;
?>

Production:

"hello", We can use the "heredocs" to incorporate the 'single quote' and the "double quotes" in a string. "goodbye".

Utilisez les guillemets simples ou les guillemets doubles alternativement pour échapper aux guillemets en PHP

Nous pouvons utiliser les guillemets doubles pour échapper aux guillemets simples et utiliser les guillemets simples pour échapper aux guillemets doubles. Ainsi, nous pouvons échapper les guillemets dans une chaîne en PHP. Il y a une légère différence lors de l’utilisation des guillemets doubles et des guillemets simples dans la chaîne. Nous pouvons effectuer l’interpolation de chaîne en utilisant les guillemets doubles, mais le guillemet simple ne le permet pas. L’interpolation est une méthode de référencement des variables dans une chaîne pour évaluer leurs valeurs.

Par exemple, écrivez une chaîne Over and over again entourée d’un guillemet simple. Enveloppez le mot over avec des guillemets doubles. Utilisez la commande echo pour afficher la chaîne. Dans la ligne suivante, enveloppez la même chaîne de guillemets doubles et utilisez le guillemet simple pour envelopper le même mot over. Imprimez la chaîne.

Les guillemets doubles sont échappés dans la première chaîne dans l’exemple ci-dessous, et le guillemet simple est échappé dans la deuxième chaîne. C’est possible grâce à l’utilisation de guillemets alternatifs pour envelopper toute la chaîne.

Exemple de code :

# php 7.x
<?php
echo 'Over and "over" again'."<br>";
echo "Over and 'over' again";
?>

Production:

Over and "over" again 
Over and 'over' again
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Article connexe - PHP String