Escape-Anführungszeichen in PHP

Subodh Poudel 30 Januar 2023
  1. Verwenden Sie den Backslash \ vor dem Zitat, um die Anführungszeichen zu umgehen
  2. Verwenden Sie die Heredoc-Syntax <<<, um die Anführungszeichen aus einem String in PHP zu maskieren
  3. Verwenden Sie die einfachen Anführungszeichen oder die doppelten Anführungszeichen abwechselnd, um die Anführungszeichen in PHP zu umgehen
Escape-Anführungszeichen in PHP

Dieser Artikel stellt Methoden vor, um das Anführungszeichen in einem String in PHP zu maskieren.

Verwenden Sie den Backslash \ vor dem Zitat, um die Anführungszeichen zu umgehen

Wir können den Backslash \ verwenden, um Sonderzeichen in PHP zu maskieren. Wenn wir versuchen, die Anführungszeichen in den String in PHP einzufügen, gibt das Skript einen Parse-Fehler aus. Daher müssen wir das Anführungszeichen mit Escapezeichen versehen, damit das Skript ohne Fehler ausgeführt wird. Wir können diese Technik verwenden, wenn wir eine Zeichenkette ausgeben müssen, die eine direkte Rede enthält. Betrachten wir einen direkten Redesatz: She asked me, " Are you going out tonight ?".. Wenn wir diesen String ausgeben, wird ein Parse-Fehler ausgegeben. Dies liegt daran, dass die gesamte Zeichenkette in die doppelten Anführungszeichen " " eingeschlossen wird. Wenn während des Codeflusses die doppelten Anführungszeichen vor dem Are angetroffen werden, erwartet der Compiler danach keine Zeichenkette. Es erwartet eher ein Semikolon oder einen Verkettungsoperator. Daher wirft der Compiler einen Parse-Fehler.

Schreiben Sie zum Beispiel Backslashes direkt vor die beiden doppelten Anführungszeichen, die den Text Are you going out tonight ? einschließen. Weisen Sie den String einer Variablen $text zu und geben Sie die Variable mit dem echo-Befehl aus. Somit wird ein vollständiger direkter Sprachsatz mit doppelten Anführungszeichen angezeigt.

Beispielcode:

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

Ausgabe:

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

Verwenden Sie die Heredoc-Syntax <<<, um die Anführungszeichen aus einem String in PHP zu maskieren

Wir können die Heredoc-Syntax <<< verwenden, um Anführungszeichen aus einem String in PHP zu maskieren. Ein Bezeichner folgt direkt nach der Syntax und dem String in der neuen Zeile. Der String oder der Text innerhalb des Bezeichners wird Heredoc-Text genannt. Wir sollten den gleichen Bezeichner nach dem String in der neuen Zeile in der ersten Spalte verwenden, um das Ende des Heredoc zu kennzeichnen. Wir sollten das Semikolon nach dem schließenden Bezeichner verwenden, um das Ende anzuzeigen. Es wird davon ausgegangen, dass der Heredoc-Text in doppelten Anführungszeichen steht, ohne dass die doppelten Anführungszeichen verwendet werden. Die doppelten und einfachen Anführungszeichen im Heredoc-Text werden automatisch mit Escapezeichen versehen. Wir können weiterhin Variablen in den Heredocs verwenden und sie in Anführungszeichen setzen.

Erstellen Sie beispielsweise zwei Variablen, $start und $end, um die Strings hello und goodbye zu speichern. Erstellen Sie eine weitere Variable $heredoc und schreiben Sie die Heredoc-Syntax <<< hinein. Schreiben Sie direkt nach der Syntax einen Bezeichner term. Schreiben Sie in die nächste Zeile den Heredoc-Text. Umschließen Sie die Variable $start am Anfang des Textes in doppelte Anführungszeichen. Schreiben Sie den Text We can use the "heredocs" to incorporate the 'single quotes' and the "double quotes" in a string.. Beachten Sie, dass Sie die Wörter heredocs und double qoutes in doppelte Anführungszeichen setzen und das Wort single quote in ein einfaches Anführungszeichen wie oben geschrieben. Umschließen Sie zum Schluss die Variable $end in doppelte Anführungszeichen. Schreiben Sie in die nächste Zeile den Bezeichner term mit Semikolon nach dem Ende des Heredoc. Geben Sie dann die Variable $heredoc aus.

Das obige Beispiel gibt den Text mit einem einfachen und doppelten Anführungszeichen aus. Die Verwendung der Heredoc-Syntax <<< macht es einfach, die Anführungszeichen aus einem String in PHP zu maskieren. Bitte lesen Sie das PHP-Handbuch, um mehr über das Heredoc zu erfahren.

Codebeispiel:

#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;
?>

Ausgabe:

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

Verwenden Sie die einfachen Anführungszeichen oder die doppelten Anführungszeichen abwechselnd, um die Anführungszeichen in PHP zu umgehen

Wir können die doppelten Anführungszeichen verwenden, um das einfache Anführungszeichen zu maskieren, und das einfache Anführungszeichen, um die doppelten Anführungszeichen zu maskieren. So können wir die Anführungszeichen in einem String in PHP mit Escapezeichen versehen. Es gibt einen kleinen Unterschied bei der Verwendung der doppelten Anführungszeichen und der einfachen Anführungszeichen in der Zeichenkette. Wir können die String-Interpolation mit den doppelten Anführungszeichen durchführen, aber das einfache Anführungszeichen lässt dies nicht zu. Interpolation ist eine Methode zum Referenzieren der Variablen in einer Zeichenkette, um ihre Werte auszuwerten.

Schreiben Sie zum Beispiel eine Zeichenkette Over and over again, die in ein einfaches Anführungszeichen eingeschlossen ist. Schließen Sie das Wort over in doppelte Anführungszeichen ein. Verwenden Sie den Befehl echo, um die Zeichenkette anzuzeigen. Umschließen Sie in der folgenden Zeile dieselbe Zeichenkette mit doppelten Anführungszeichen und verwenden Sie das einfache Anführungszeichen, um dasselbe Wort over zu umbrechen. Drucken Sie die Zeichenkette.

Die doppelten Anführungszeichen werden im folgenden Beispiel in der ersten Zeichenkette mit Escapezeichen versehen, und die einfachen Anführungszeichen werden in der zweiten Zeichenkette mit Escapezeichen versehen. Aufgrund der Verwendung alternativer Anführungszeichen ist es möglich, den gesamten String zu umbrechen.

Beispielcode:

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

Ausgabe:

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

Verwandter Artikel - PHP String