Heim >Backend-Entwicklung >PHP-Problem >PHP7-String-Escape

PHP7-String-Escape

WBOY
WBOYOriginal
2023-05-24 16:44:38716Durchsuche

In der PHP-Programmierung ist String einer der häufigsten Datentypen. Wir müssen Zeichenfolgen häufig maskieren, um sicherzustellen, dass der Code normal ausgeführt werden kann und potenzielle Sicherheitsrisiken vermieden werden. Da die PHP-Versionen ständig aktualisiert werden, wurden auch beim String-Escape einige Änderungen vorgenommen. In diesem Artikel wird die String-Escape-Operation in PHP7 vorgestellt.

1. Escape-Zeichen

In PHP werden Escape-Zeichen verwendet, um einige Sonderzeichen wie Anführungszeichen, Backslashes, Zeilenumbrüche usw. darzustellen. Zu den üblichen Escapezeichen gehören:

  • ': steht für ein einfaches Anführungszeichen
  • ": steht für ein doppeltes Anführungszeichen
  • : steht für einen Backslash
  • : steht für ein Zeilenumbruchzeichen
  • : steht für ein Wagenrücklaufzeichen
  • : steht für ein Tabulatorzeichen
  • : Stellt das vertikale Tabulatorzeichen dar

Die Syntax für die Verwendung von Escape-Zeichen in einer Zeichenfolge lautet wie folgt:

$string = 'This is a 'string'';
$string = "This is a "string"";
$string = "This is a string with a \ backslash";
$string = "This is a string
with a newline";
$string = "This is a stringwith a carriage return";
$string = "This is a string    with a tab";
$string = "This is a stringwith a vertical tab";

Beachten Sie, dass Sie bei Verwendung einer Zeichenfolge mit einfachen Anführungszeichen nur einfache Anführungszeichen und keine doppelten Anführungszeichen als Escape-Zeichen verwenden können. Bedeutungszeichen. Zum Beispiel:

$string = 'This is a "string"'; // 错误
$string = 'This is a 'string''; // 正确

Doppelte Anführungszeichen-Zeichenfolgen können entweder doppelte Anführungszeichen oder einfache Anführungszeichen-Escape-Zeichen verwenden.

Um unerwartete Zeichenfolgen-Escape-Zeichen zu vermeiden, müssen wir die Zeichenfolge manuell mit Escapezeichen versehen , das heißt:

$str = '
'; // 双重转义后的字符串

Es ​​wurden jedoch einige Änderungen am String-Escape in PHP7 vorgenommen, und diese doppelte Escape-Methode wird nicht mehr benötigt

2. Moderne Escape-Syntax

In PHP7 können wir dafür die moderne Escape-Syntax verwenden Behandeln Sie die Zeichenfolgen-Escape-Syntax. Nach der Verwendung der modernen Escape-Syntax müssen wir die Escape-Zeichen nicht manuell verdoppeln, und die moderne Escape-Syntax umfasst zwei Arten von Zeichenfolgen in Anführungszeichen

    Moderne Escape-Syntax für Zeichenfolgen in doppelte Anführungszeichen
In Zeichenfolgen in doppelte Anführungszeichen können Sie geschweifte Klammern verwenden, um Variablennamen einzuschließen, um Variablen in die Zeichenfolge einzuschließen, die wir benötigen, da wir geschweifte Klammern {} für die Variableneinbettung verwenden Um das Escape-Zeichen $ vor dem Variablennamen zu verwenden, muss der Code manuell doppelt maskiert werden:

$name = 'John';
$string = "Hello, {$name}!";
echo $string; // 输出:'Hello, John!'

heredoc. Moderne Escape-Syntax für /nowdoc-Strings

Die Zeichenfolgen „heredoc“ und „nowdoc“ wurden in PHP5.3 eingeführt. Das Merkmal dieser beiden Zeichenfolgen ist, dass sie mehrere Textzeilen ohne Escapezeichen enthalten können Gleicher Bezeichner:
    $name = 'John';
    $string = "Hello, {$name}!";
    $string = "Hello, ".$name."!";
    echo $string; // 输出:'Hello, John!'
  1. nowdoc-String beginnt mit einem einfachen Anführungszeichen und endet mit demselben einfachen Anführungszeichen:
  2. $str = <<<EOD
    This is
    a
    multi-line
    string.
    EOD;
In PHP7 können wir die moderne Escape-Syntax verwenden, um Escape-Zeichen in Heredoc-/Nowdoc-Strings zu verarbeiten. Hier ist die neue Syntax:

$str = <<<'EOD'
This is
a
multi-line
string.
EOD;
rreee

Wenn wir in der modernen Syntax Escape-Zeichen in eine Zeichenfolge einfügen müssen, ist kein doppeltes Escapezeichen erforderlich

3. In PHP7 gibt es einige Änderungen bei String-Escape-Operationen. Dies kann uns helfen, klareren und prägnanteren Code zu schreiben und den mühsamen Prozess des Escapens zu vermeiden. Wenn Sie ein PHP-Entwickler sind, wird empfohlen, eine moderne Escape-Syntax zu verwenden, um die Lesbarkeit und Wartbarkeit Ihres Codes zu verbessern

Das obige ist der detaillierte Inhalt vonPHP7-String-Escape. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn